You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mi...@apache.org on 2017/03/21 16:35:57 UTC

[01/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site c6ddb98fc -> fadf6d5a0


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/RegionMover.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/RegionMover.html b/apidocs/src-html/org/apache/hadoop/hbase/util/RegionMover.html
index 27b58df..c28cd5c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/util/RegionMover.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/util/RegionMover.html
@@ -405,7 +405,7 @@
 <span class="sourceLineNo">397</span>    LOG.info("Moving " + regionsToMove.size() + " regions to " + server + " using "<a name="line.397"></a>
 <span class="sourceLineNo">398</span>        + this.maxthreads + " threads.Ack mode:" + this.ack);<a name="line.398"></a>
 <span class="sourceLineNo">399</span>    ExecutorService moveRegionsPool = Executors.newFixedThreadPool(this.maxthreads);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    List&lt;Future&lt;Boolean&gt;&gt; taskList = new ArrayList&lt;Future&lt;Boolean&gt;&gt;();<a name="line.400"></a>
+<span class="sourceLineNo">400</span>    List&lt;Future&lt;Boolean&gt;&gt; taskList = new ArrayList&lt;&gt;();<a name="line.400"></a>
 <span class="sourceLineNo">401</span>    int counter = 0;<a name="line.401"></a>
 <span class="sourceLineNo">402</span>    while (counter &lt; regionsToMove.size()) {<a name="line.402"></a>
 <span class="sourceLineNo">403</span>      HRegionInfo region = regionsToMove.get(counter);<a name="line.403"></a>
@@ -469,7 +469,7 @@
 <span class="sourceLineNo">461</span>      justification="FB is wrong; its size is read")<a name="line.461"></a>
 <span class="sourceLineNo">462</span>  private void unloadRegions(Admin admin, String server, ArrayList&lt;String&gt; regionServers,<a name="line.462"></a>
 <span class="sourceLineNo">463</span>      boolean ack, List&lt;HRegionInfo&gt; movedRegions) throws Exception {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    List&lt;HRegionInfo&gt; regionsToMove = new ArrayList&lt;HRegionInfo&gt;();// FindBugs: DLS_DEAD_LOCAL_STORE<a name="line.464"></a>
+<span class="sourceLineNo">464</span>    List&lt;HRegionInfo&gt; regionsToMove = new ArrayList&lt;&gt;();// FindBugs: DLS_DEAD_LOCAL_STORE<a name="line.464"></a>
 <span class="sourceLineNo">465</span>    regionsToMove = getRegions(this.conf, server);<a name="line.465"></a>
 <span class="sourceLineNo">466</span>    if (regionsToMove.isEmpty()) {<a name="line.466"></a>
 <span class="sourceLineNo">467</span>      LOG.info("No Regions to move....Quitting now");<a name="line.467"></a>
@@ -489,7 +489,7 @@
 <span class="sourceLineNo">481</span>          + regionServers.size() + " servers using " + this.maxthreads + " threads .Ack Mode:"<a name="line.481"></a>
 <span class="sourceLineNo">482</span>          + ack);<a name="line.482"></a>
 <span class="sourceLineNo">483</span>      ExecutorService moveRegionsPool = Executors.newFixedThreadPool(this.maxthreads);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      List&lt;Future&lt;Boolean&gt;&gt; taskList = new ArrayList&lt;Future&lt;Boolean&gt;&gt;();<a name="line.484"></a>
+<span class="sourceLineNo">484</span>      List&lt;Future&lt;Boolean&gt;&gt; taskList = new ArrayList&lt;&gt;();<a name="line.484"></a>
 <span class="sourceLineNo">485</span>      int serverIndex = 0;<a name="line.485"></a>
 <span class="sourceLineNo">486</span>      while (counter &lt; regionsToMove.size()) {<a name="line.486"></a>
 <span class="sourceLineNo">487</span>        if (ack) {<a name="line.487"></a>
@@ -644,7 +644,7 @@
 <span class="sourceLineNo">636</span>  }<a name="line.636"></a>
 <span class="sourceLineNo">637</span><a name="line.637"></a>
 <span class="sourceLineNo">638</span>  private List&lt;HRegionInfo&gt; readRegionsFromFile(String filename) throws IOException {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    List&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.639"></a>
+<span class="sourceLineNo">639</span>    List&lt;HRegionInfo&gt; regions = new ArrayList&lt;&gt;();<a name="line.639"></a>
 <span class="sourceLineNo">640</span>    File f = new File(filename);<a name="line.640"></a>
 <span class="sourceLineNo">641</span>    if (!f.exists()) {<a name="line.641"></a>
 <span class="sourceLineNo">642</span>      return regions;<a name="line.642"></a>
@@ -766,7 +766,7 @@
 <span class="sourceLineNo">758</span>   * @return List of servers from the exclude file in format 'hostname:port'.<a name="line.758"></a>
 <span class="sourceLineNo">759</span>   */<a name="line.759"></a>
 <span class="sourceLineNo">760</span>  private ArrayList&lt;String&gt; readExcludes(String excludeFile) throws IOException {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>    ArrayList&lt;String&gt; excludeServers = new ArrayList&lt;String&gt;();<a name="line.761"></a>
+<span class="sourceLineNo">761</span>    ArrayList&lt;String&gt; excludeServers = new ArrayList&lt;&gt;();<a name="line.761"></a>
 <span class="sourceLineNo">762</span>    if (excludeFile == null) {<a name="line.762"></a>
 <span class="sourceLineNo">763</span>      return excludeServers;<a name="line.763"></a>
 <span class="sourceLineNo">764</span>    } else {<a name="line.764"></a>
@@ -829,184 +829,183 @@
 <span class="sourceLineNo">821</span>   * @throws IOException<a name="line.821"></a>
 <span class="sourceLineNo">822</span>   */<a name="line.822"></a>
 <span class="sourceLineNo">823</span>  private ArrayList&lt;String&gt; getServers(Admin admin) throws IOException {<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    ArrayList&lt;ServerName&gt; serverInfo =<a name="line.824"></a>
-<span class="sourceLineNo">825</span>        new ArrayList&lt;ServerName&gt;(admin.getClusterStatus().getServers());<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    ArrayList&lt;String&gt; regionServers = new ArrayList&lt;String&gt;(serverInfo.size());<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    for (ServerName server : serverInfo) {<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      regionServers.add(server.getServerName());<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    }<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    return regionServers;<a name="line.830"></a>
-<span class="sourceLineNo">831</span>  }<a name="line.831"></a>
-<span class="sourceLineNo">832</span><a name="line.832"></a>
-<span class="sourceLineNo">833</span>  private void deleteFile(String filename) {<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    File f = new File(filename);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (f.exists()) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      f.delete();<a name="line.836"></a>
-<span class="sourceLineNo">837</span>    }<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>   * Tries to scan a row from passed region<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   * @param admin<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @param region<a name="line.843"></a>
-<span class="sourceLineNo">844</span>   * @throws IOException<a name="line.844"></a>
-<span class="sourceLineNo">845</span>   */<a name="line.845"></a>
-<span class="sourceLineNo">846</span>  private void isSuccessfulScan(Admin admin, HRegionInfo region) throws IOException {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    Scan scan = new Scan(region.getStartKey());<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    scan.setBatch(1);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    scan.setCaching(1);<a name="line.849"></a>
-<span class="sourceLineNo">850</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    try {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      Table table = admin.getConnection().getTable(region.getTable());<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      try {<a name="line.853"></a>
-<span class="sourceLineNo">854</span>        ResultScanner scanner = table.getScanner(scan);<a name="line.854"></a>
-<span class="sourceLineNo">855</span>        try {<a name="line.855"></a>
-<span class="sourceLineNo">856</span>          scanner.next();<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        } finally {<a name="line.857"></a>
-<span class="sourceLineNo">858</span>          scanner.close();<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        }<a name="line.859"></a>
-<span class="sourceLineNo">860</span>      } finally {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        table.close();<a name="line.861"></a>
-<span class="sourceLineNo">862</span>      }<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    } catch (IOException e) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span>      LOG.error("Could not scan region:" + region.getEncodedName(), e);<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      throw e;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  /**<a name="line.869"></a>
-<span class="sourceLineNo">870</span>   * Returns true if passed region is still on serverName when we look at hbase:meta.<a name="line.870"></a>
-<span class="sourceLineNo">871</span>   * @param admin<a name="line.871"></a>
-<span class="sourceLineNo">872</span>   * @param region<a name="line.872"></a>
-<span class="sourceLineNo">873</span>   * @param serverName<a name="line.873"></a>
-<span class="sourceLineNo">874</span>   * @return true if region is hosted on serverName otherwise false<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * @throws IOException<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   */<a name="line.876"></a>
-<span class="sourceLineNo">877</span>  private boolean isSameServer(Admin admin, HRegionInfo region, String serverName)<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      throws IOException {<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    String serverForRegion = getServerNameForRegion(admin, region);<a name="line.879"></a>
-<span class="sourceLineNo">880</span>    if (serverForRegion != null &amp;&amp; serverForRegion.equals(serverName)) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      return true;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    return false;<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>  /**<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   * Get servername that is up in hbase:meta hosting the given region. this is hostname + port +<a name="line.887"></a>
-<span class="sourceLineNo">888</span>   * startcode comma-delimited. Can return null<a name="line.888"></a>
-<span class="sourceLineNo">889</span>   * @param admin<a name="line.889"></a>
-<span class="sourceLineNo">890</span>   * @param region<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   * @return regionServer hosting the given region<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * @throws IOException<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   */<a name="line.893"></a>
-<span class="sourceLineNo">894</span>  private String getServerNameForRegion(Admin admin, HRegionInfo region) throws IOException {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    String server = null;<a name="line.895"></a>
-<span class="sourceLineNo">896</span>    if (!admin.isTableEnabled(region.getTable())) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      return null;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>    if (region.isMetaRegion()) {<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      ZooKeeperWatcher zkw = new ZooKeeperWatcher(admin.getConfiguration(), "region_mover", null);<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      MetaTableLocator locator = new MetaTableLocator();<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      int maxWaitInSeconds =<a name="line.902"></a>
-<span class="sourceLineNo">903</span>          admin.getConfiguration().getInt(MOVE_WAIT_MAX_KEY, DEFAULT_MOVE_WAIT_MAX);<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      try {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        server = locator.waitMetaRegionLocation(zkw, maxWaitInSeconds * 1000).toString() + ",";<a name="line.905"></a>
-<span class="sourceLineNo">906</span>      } catch (InterruptedException e) {<a name="line.906"></a>
-<span class="sourceLineNo">907</span>        LOG.error("Interrupted while waiting for location of Meta", e);<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      } finally {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>        if (zkw != null) {<a name="line.909"></a>
-<span class="sourceLineNo">910</span>          zkw.close();<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>    } else {<a name="line.913"></a>
-<span class="sourceLineNo">914</span>      Table table = admin.getConnection().getTable(TableName.META_TABLE_NAME);<a name="line.914"></a>
-<span class="sourceLineNo">915</span>      try {<a name="line.915"></a>
-<span class="sourceLineNo">916</span>        Get get = new Get(region.getRegionName());<a name="line.916"></a>
-<span class="sourceLineNo">917</span>        get.addColumn(HConstants.CATALOG_FAMILY, HConstants.SERVER_QUALIFIER);<a name="line.917"></a>
-<span class="sourceLineNo">918</span>        get.addColumn(HConstants.CATALOG_FAMILY, HConstants.STARTCODE_QUALIFIER);<a name="line.918"></a>
-<span class="sourceLineNo">919</span>        Result result = table.get(get);<a name="line.919"></a>
-<span class="sourceLineNo">920</span>        if (result != null) {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>          byte[] servername =<a name="line.921"></a>
-<span class="sourceLineNo">922</span>              result.getValue(HConstants.CATALOG_FAMILY, HConstants.SERVER_QUALIFIER);<a name="line.922"></a>
-<span class="sourceLineNo">923</span>          byte[] startcode =<a name="line.923"></a>
-<span class="sourceLineNo">924</span>              result.getValue(HConstants.CATALOG_FAMILY, HConstants.STARTCODE_QUALIFIER);<a name="line.924"></a>
-<span class="sourceLineNo">925</span>          if (servername != null) {<a name="line.925"></a>
-<span class="sourceLineNo">926</span>            server =<a name="line.926"></a>
-<span class="sourceLineNo">927</span>                Bytes.toString(servername).replaceFirst(":", ",") + "," + Bytes.toLong(startcode);<a name="line.927"></a>
-<span class="sourceLineNo">928</span>          }<a name="line.928"></a>
-<span class="sourceLineNo">929</span>        }<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      } catch (IOException e) {<a name="line.930"></a>
-<span class="sourceLineNo">931</span>        LOG.error("Could not get Server Name for region:" + region.getEncodedName(), e);<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        throw e;<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      } finally {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        table.close();<a name="line.934"></a>
-<span class="sourceLineNo">935</span>      }<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    }<a name="line.936"></a>
-<span class="sourceLineNo">937</span>    return server;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>  }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>  @Override<a name="line.940"></a>
-<span class="sourceLineNo">941</span>  protected void addOptions() {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    this.addRequiredOptWithArg("r", "regionserverhost", "region server &lt;hostname&gt;|&lt;hostname:port&gt;");<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    this.addRequiredOptWithArg("o", "operation", "Expected: load/unload");<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    this.addOptWithArg("m", "maxthreads",<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      "Define the maximum number of threads to use to unload and reload the regions");<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    this.addOptWithArg("x", "excludefile",<a name="line.946"></a>
-<span class="sourceLineNo">947</span>      "File with &lt;hostname:port&gt; per line to exclude as unload targets; default excludes only "<a name="line.947"></a>
-<span class="sourceLineNo">948</span>          + "target host; useful for rack decommisioning.");<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    this.addOptWithArg("f", "filename",<a name="line.949"></a>
-<span class="sourceLineNo">950</span>      "File to save regions list into unloading, or read from loading; "<a name="line.950"></a>
-<span class="sourceLineNo">951</span>          + "default /tmp/&lt;usernamehostname:port&gt;");<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    this.addOptNoArg("n", "noack",<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      "Turn on No-Ack mode(default: false) which won't check if region is online on target "<a name="line.953"></a>
-<span class="sourceLineNo">954</span>          + "RegionServer, hence best effort. This is more performant in unloading and loading "<a name="line.954"></a>
-<span class="sourceLineNo">955</span>          + "but might lead to region being unavailable for some time till master reassigns it "<a name="line.955"></a>
-<span class="sourceLineNo">956</span>          + "in case the move failed");<a name="line.956"></a>
-<span class="sourceLineNo">957</span>    this.addOptWithArg("t", "timeout", "timeout in seconds after which the tool will exit "<a name="line.957"></a>
-<span class="sourceLineNo">958</span>        + "irrespective of whether it finished or not;default Integer.MAX_VALUE");<a name="line.958"></a>
-<span class="sourceLineNo">959</span>  }<a name="line.959"></a>
-<span class="sourceLineNo">960</span><a name="line.960"></a>
-<span class="sourceLineNo">961</span>  @Override<a name="line.961"></a>
-<span class="sourceLineNo">962</span>  protected void processOptions(CommandLine cmd) {<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    String hostname = cmd.getOptionValue("r");<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    rmbuilder = new RegionMoverBuilder(hostname);<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    if (cmd.hasOption('m')) {<a name="line.965"></a>
-<span class="sourceLineNo">966</span>      rmbuilder.maxthreads(Integer.parseInt(cmd.getOptionValue('m')));<a name="line.966"></a>
-<span class="sourceLineNo">967</span>    }<a name="line.967"></a>
-<span class="sourceLineNo">968</span>    if (cmd.hasOption('n')) {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      rmbuilder.ack(false);<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span>    if (cmd.hasOption('f')) {<a name="line.971"></a>
-<span class="sourceLineNo">972</span>      rmbuilder.filename(cmd.getOptionValue('f'));<a name="line.972"></a>
-<span class="sourceLineNo">973</span>    }<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    if (cmd.hasOption('x')) {<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      rmbuilder.excludeFile(cmd.getOptionValue('x'));<a name="line.975"></a>
-<span class="sourceLineNo">976</span>    }<a name="line.976"></a>
-<span class="sourceLineNo">977</span>    if (cmd.hasOption('t')) {<a name="line.977"></a>
-<span class="sourceLineNo">978</span>      rmbuilder.timeout(Integer.parseInt(cmd.getOptionValue('t')));<a name="line.978"></a>
-<span class="sourceLineNo">979</span>    }<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    this.loadUnload = cmd.getOptionValue("o").toLowerCase(Locale.ROOT);<a name="line.980"></a>
-<span class="sourceLineNo">981</span>  }<a name="line.981"></a>
-<span class="sourceLineNo">982</span><a name="line.982"></a>
-<span class="sourceLineNo">983</span>  @Override<a name="line.983"></a>
-<span class="sourceLineNo">984</span>  protected int doWork() throws Exception {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    boolean success;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    RegionMover rm = rmbuilder.build();<a name="line.986"></a>
-<span class="sourceLineNo">987</span>    if (loadUnload.equalsIgnoreCase("load")) {<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      success = rm.load();<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    } else if (loadUnload.equalsIgnoreCase("unload")) {<a name="line.989"></a>
-<span class="sourceLineNo">990</span>      success = rm.unload();<a name="line.990"></a>
-<span class="sourceLineNo">991</span>    } else {<a name="line.991"></a>
-<span class="sourceLineNo">992</span>      printUsage();<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      success = false;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span>    return (success ? 0 : 1);<a name="line.995"></a>
-<span class="sourceLineNo">996</span>  }<a name="line.996"></a>
-<span class="sourceLineNo">997</span><a name="line.997"></a>
-<span class="sourceLineNo">998</span>  public static void main(String[] args) {<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    new RegionMover().doStaticMain(args);<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">824</span>    ArrayList&lt;ServerName&gt; serverInfo = new ArrayList&lt;&gt;(admin.getClusterStatus().getServers());<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    ArrayList&lt;String&gt; regionServers = new ArrayList&lt;&gt;(serverInfo.size());<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    for (ServerName server : serverInfo) {<a name="line.826"></a>
+<span class="sourceLineNo">827</span>      regionServers.add(server.getServerName());<a name="line.827"></a>
+<span class="sourceLineNo">828</span>    }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    return regionServers;<a name="line.829"></a>
+<span class="sourceLineNo">830</span>  }<a name="line.830"></a>
+<span class="sourceLineNo">831</span><a name="line.831"></a>
+<span class="sourceLineNo">832</span>  private void deleteFile(String filename) {<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    File f = new File(filename);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    if (f.exists()) {<a name="line.834"></a>
+<span class="sourceLineNo">835</span>      f.delete();<a name="line.835"></a>
+<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
+<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
+<span class="sourceLineNo">838</span><a name="line.838"></a>
+<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   * Tries to scan a row from passed region<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * @param admin<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @param region<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @throws IOException<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  private void isSuccessfulScan(Admin admin, HRegionInfo region) throws IOException {<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    Scan scan = new Scan(region.getStartKey());<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    scan.setBatch(1);<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    scan.setCaching(1);<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.849"></a>
+<span class="sourceLineNo">850</span>    try {<a name="line.850"></a>
+<span class="sourceLineNo">851</span>      Table table = admin.getConnection().getTable(region.getTable());<a name="line.851"></a>
+<span class="sourceLineNo">852</span>      try {<a name="line.852"></a>
+<span class="sourceLineNo">853</span>        ResultScanner scanner = table.getScanner(scan);<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        try {<a name="line.854"></a>
+<span class="sourceLineNo">855</span>          scanner.next();<a name="line.855"></a>
+<span class="sourceLineNo">856</span>        } finally {<a name="line.856"></a>
+<span class="sourceLineNo">857</span>          scanner.close();<a name="line.857"></a>
+<span class="sourceLineNo">858</span>        }<a name="line.858"></a>
+<span class="sourceLineNo">859</span>      } finally {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>        table.close();<a name="line.860"></a>
+<span class="sourceLineNo">861</span>      }<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    } catch (IOException e) {<a name="line.862"></a>
+<span class="sourceLineNo">863</span>      LOG.error("Could not scan region:" + region.getEncodedName(), e);<a name="line.863"></a>
+<span class="sourceLineNo">864</span>      throw e;<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><a name="line.867"></a>
+<span class="sourceLineNo">868</span>  /**<a name="line.868"></a>
+<span class="sourceLineNo">869</span>   * Returns true if passed region is still on serverName when we look at hbase:meta.<a name="line.869"></a>
+<span class="sourceLineNo">870</span>   * @param admin<a name="line.870"></a>
+<span class="sourceLineNo">871</span>   * @param region<a name="line.871"></a>
+<span class="sourceLineNo">872</span>   * @param serverName<a name="line.872"></a>
+<span class="sourceLineNo">873</span>   * @return true if region is hosted on serverName otherwise false<a name="line.873"></a>
+<span class="sourceLineNo">874</span>   * @throws IOException<a name="line.874"></a>
+<span class="sourceLineNo">875</span>   */<a name="line.875"></a>
+<span class="sourceLineNo">876</span>  private boolean isSameServer(Admin admin, HRegionInfo region, String serverName)<a name="line.876"></a>
+<span class="sourceLineNo">877</span>      throws IOException {<a name="line.877"></a>
+<span class="sourceLineNo">878</span>    String serverForRegion = getServerNameForRegion(admin, region);<a name="line.878"></a>
+<span class="sourceLineNo">879</span>    if (serverForRegion != null &amp;&amp; serverForRegion.equals(serverName)) {<a name="line.879"></a>
+<span class="sourceLineNo">880</span>      return true;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>    }<a name="line.881"></a>
+<span class="sourceLineNo">882</span>    return false;<a name="line.882"></a>
+<span class="sourceLineNo">883</span>  }<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>   * Get servername that is up in hbase:meta hosting the given region. this is hostname + port +<a name="line.886"></a>
+<span class="sourceLineNo">887</span>   * startcode comma-delimited. Can return null<a name="line.887"></a>
+<span class="sourceLineNo">888</span>   * @param admin<a name="line.888"></a>
+<span class="sourceLineNo">889</span>   * @param region<a name="line.889"></a>
+<span class="sourceLineNo">890</span>   * @return regionServer hosting the given region<a name="line.890"></a>
+<span class="sourceLineNo">891</span>   * @throws IOException<a name="line.891"></a>
+<span class="sourceLineNo">892</span>   */<a name="line.892"></a>
+<span class="sourceLineNo">893</span>  private String getServerNameForRegion(Admin admin, HRegionInfo region) throws IOException {<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    String server = null;<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    if (!admin.isTableEnabled(region.getTable())) {<a name="line.895"></a>
+<span class="sourceLineNo">896</span>      return null;<a name="line.896"></a>
+<span class="sourceLineNo">897</span>    }<a name="line.897"></a>
+<span class="sourceLineNo">898</span>    if (region.isMetaRegion()) {<a name="line.898"></a>
+<span class="sourceLineNo">899</span>      ZooKeeperWatcher zkw = new ZooKeeperWatcher(admin.getConfiguration(), "region_mover", null);<a name="line.899"></a>
+<span class="sourceLineNo">900</span>      MetaTableLocator locator = new MetaTableLocator();<a name="line.900"></a>
+<span class="sourceLineNo">901</span>      int maxWaitInSeconds =<a name="line.901"></a>
+<span class="sourceLineNo">902</span>          admin.getConfiguration().getInt(MOVE_WAIT_MAX_KEY, DEFAULT_MOVE_WAIT_MAX);<a name="line.902"></a>
+<span class="sourceLineNo">903</span>      try {<a name="line.903"></a>
+<span class="sourceLineNo">904</span>        server = locator.waitMetaRegionLocation(zkw, maxWaitInSeconds * 1000).toString() + ",";<a name="line.904"></a>
+<span class="sourceLineNo">905</span>      } catch (InterruptedException e) {<a name="line.905"></a>
+<span class="sourceLineNo">906</span>        LOG.error("Interrupted while waiting for location of Meta", e);<a name="line.906"></a>
+<span class="sourceLineNo">907</span>      } finally {<a name="line.907"></a>
+<span class="sourceLineNo">908</span>        if (zkw != null) {<a name="line.908"></a>
+<span class="sourceLineNo">909</span>          zkw.close();<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>    } else {<a name="line.912"></a>
+<span class="sourceLineNo">913</span>      Table table = admin.getConnection().getTable(TableName.META_TABLE_NAME);<a name="line.913"></a>
+<span class="sourceLineNo">914</span>      try {<a name="line.914"></a>
+<span class="sourceLineNo">915</span>        Get get = new Get(region.getRegionName());<a name="line.915"></a>
+<span class="sourceLineNo">916</span>        get.addColumn(HConstants.CATALOG_FAMILY, HConstants.SERVER_QUALIFIER);<a name="line.916"></a>
+<span class="sourceLineNo">917</span>        get.addColumn(HConstants.CATALOG_FAMILY, HConstants.STARTCODE_QUALIFIER);<a name="line.917"></a>
+<span class="sourceLineNo">918</span>        Result result = table.get(get);<a name="line.918"></a>
+<span class="sourceLineNo">919</span>        if (result != null) {<a name="line.919"></a>
+<span class="sourceLineNo">920</span>          byte[] servername =<a name="line.920"></a>
+<span class="sourceLineNo">921</span>              result.getValue(HConstants.CATALOG_FAMILY, HConstants.SERVER_QUALIFIER);<a name="line.921"></a>
+<span class="sourceLineNo">922</span>          byte[] startcode =<a name="line.922"></a>
+<span class="sourceLineNo">923</span>              result.getValue(HConstants.CATALOG_FAMILY, HConstants.STARTCODE_QUALIFIER);<a name="line.923"></a>
+<span class="sourceLineNo">924</span>          if (servername != null) {<a name="line.924"></a>
+<span class="sourceLineNo">925</span>            server =<a name="line.925"></a>
+<span class="sourceLineNo">926</span>                Bytes.toString(servername).replaceFirst(":", ",") + "," + Bytes.toLong(startcode);<a name="line.926"></a>
+<span class="sourceLineNo">927</span>          }<a name="line.927"></a>
+<span class="sourceLineNo">928</span>        }<a name="line.928"></a>
+<span class="sourceLineNo">929</span>      } catch (IOException e) {<a name="line.929"></a>
+<span class="sourceLineNo">930</span>        LOG.error("Could not get Server Name for region:" + region.getEncodedName(), e);<a name="line.930"></a>
+<span class="sourceLineNo">931</span>        throw e;<a name="line.931"></a>
+<span class="sourceLineNo">932</span>      } finally {<a name="line.932"></a>
+<span class="sourceLineNo">933</span>        table.close();<a name="line.933"></a>
+<span class="sourceLineNo">934</span>      }<a name="line.934"></a>
+<span class="sourceLineNo">935</span>    }<a name="line.935"></a>
+<span class="sourceLineNo">936</span>    return server;<a name="line.936"></a>
+<span class="sourceLineNo">937</span>  }<a name="line.937"></a>
+<span class="sourceLineNo">938</span><a name="line.938"></a>
+<span class="sourceLineNo">939</span>  @Override<a name="line.939"></a>
+<span class="sourceLineNo">940</span>  protected void addOptions() {<a name="line.940"></a>
+<span class="sourceLineNo">941</span>    this.addRequiredOptWithArg("r", "regionserverhost", "region server &lt;hostname&gt;|&lt;hostname:port&gt;");<a name="line.941"></a>
+<span class="sourceLineNo">942</span>    this.addRequiredOptWithArg("o", "operation", "Expected: load/unload");<a name="line.942"></a>
+<span class="sourceLineNo">943</span>    this.addOptWithArg("m", "maxthreads",<a name="line.943"></a>
+<span class="sourceLineNo">944</span>      "Define the maximum number of threads to use to unload and reload the regions");<a name="line.944"></a>
+<span class="sourceLineNo">945</span>    this.addOptWithArg("x", "excludefile",<a name="line.945"></a>
+<span class="sourceLineNo">946</span>      "File with &lt;hostname:port&gt; per line to exclude as unload targets; default excludes only "<a name="line.946"></a>
+<span class="sourceLineNo">947</span>          + "target host; useful for rack decommisioning.");<a name="line.947"></a>
+<span class="sourceLineNo">948</span>    this.addOptWithArg("f", "filename",<a name="line.948"></a>
+<span class="sourceLineNo">949</span>      "File to save regions list into unloading, or read from loading; "<a name="line.949"></a>
+<span class="sourceLineNo">950</span>          + "default /tmp/&lt;usernamehostname:port&gt;");<a name="line.950"></a>
+<span class="sourceLineNo">951</span>    this.addOptNoArg("n", "noack",<a name="line.951"></a>
+<span class="sourceLineNo">952</span>      "Turn on No-Ack mode(default: false) which won't check if region is online on target "<a name="line.952"></a>
+<span class="sourceLineNo">953</span>          + "RegionServer, hence best effort. This is more performant in unloading and loading "<a name="line.953"></a>
+<span class="sourceLineNo">954</span>          + "but might lead to region being unavailable for some time till master reassigns it "<a name="line.954"></a>
+<span class="sourceLineNo">955</span>          + "in case the move failed");<a name="line.955"></a>
+<span class="sourceLineNo">956</span>    this.addOptWithArg("t", "timeout", "timeout in seconds after which the tool will exit "<a name="line.956"></a>
+<span class="sourceLineNo">957</span>        + "irrespective of whether it finished or not;default Integer.MAX_VALUE");<a name="line.957"></a>
+<span class="sourceLineNo">958</span>  }<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span>  @Override<a name="line.960"></a>
+<span class="sourceLineNo">961</span>  protected void processOptions(CommandLine cmd) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span>    String hostname = cmd.getOptionValue("r");<a name="line.962"></a>
+<span class="sourceLineNo">963</span>    rmbuilder = new RegionMoverBuilder(hostname);<a name="line.963"></a>
+<span class="sourceLineNo">964</span>    if (cmd.hasOption('m')) {<a name="line.964"></a>
+<span class="sourceLineNo">965</span>      rmbuilder.maxthreads(Integer.parseInt(cmd.getOptionValue('m')));<a name="line.965"></a>
+<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
+<span class="sourceLineNo">967</span>    if (cmd.hasOption('n')) {<a name="line.967"></a>
+<span class="sourceLineNo">968</span>      rmbuilder.ack(false);<a name="line.968"></a>
+<span class="sourceLineNo">969</span>    }<a name="line.969"></a>
+<span class="sourceLineNo">970</span>    if (cmd.hasOption('f')) {<a name="line.970"></a>
+<span class="sourceLineNo">971</span>      rmbuilder.filename(cmd.getOptionValue('f'));<a name="line.971"></a>
+<span class="sourceLineNo">972</span>    }<a name="line.972"></a>
+<span class="sourceLineNo">973</span>    if (cmd.hasOption('x')) {<a name="line.973"></a>
+<span class="sourceLineNo">974</span>      rmbuilder.excludeFile(cmd.getOptionValue('x'));<a name="line.974"></a>
+<span class="sourceLineNo">975</span>    }<a name="line.975"></a>
+<span class="sourceLineNo">976</span>    if (cmd.hasOption('t')) {<a name="line.976"></a>
+<span class="sourceLineNo">977</span>      rmbuilder.timeout(Integer.parseInt(cmd.getOptionValue('t')));<a name="line.977"></a>
+<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
+<span class="sourceLineNo">979</span>    this.loadUnload = cmd.getOptionValue("o").toLowerCase(Locale.ROOT);<a name="line.979"></a>
+<span class="sourceLineNo">980</span>  }<a name="line.980"></a>
+<span class="sourceLineNo">981</span><a name="line.981"></a>
+<span class="sourceLineNo">982</span>  @Override<a name="line.982"></a>
+<span class="sourceLineNo">983</span>  protected int doWork() throws Exception {<a name="line.983"></a>
+<span class="sourceLineNo">984</span>    boolean success;<a name="line.984"></a>
+<span class="sourceLineNo">985</span>    RegionMover rm = rmbuilder.build();<a name="line.985"></a>
+<span class="sourceLineNo">986</span>    if (loadUnload.equalsIgnoreCase("load")) {<a name="line.986"></a>
+<span class="sourceLineNo">987</span>      success = rm.load();<a name="line.987"></a>
+<span class="sourceLineNo">988</span>    } else if (loadUnload.equalsIgnoreCase("unload")) {<a name="line.988"></a>
+<span class="sourceLineNo">989</span>      success = rm.unload();<a name="line.989"></a>
+<span class="sourceLineNo">990</span>    } else {<a name="line.990"></a>
+<span class="sourceLineNo">991</span>      printUsage();<a name="line.991"></a>
+<span class="sourceLineNo">992</span>      success = false;<a name="line.992"></a>
+<span class="sourceLineNo">993</span>    }<a name="line.993"></a>
+<span class="sourceLineNo">994</span>    return (success ? 0 : 1);<a name="line.994"></a>
+<span class="sourceLineNo">995</span>  }<a name="line.995"></a>
+<span class="sourceLineNo">996</span><a name="line.996"></a>
+<span class="sourceLineNo">997</span>  public static void main(String[] args) {<a name="line.997"></a>
+<span class="sourceLineNo">998</span>    new RegionMover().doStaticMain(args);<a name="line.998"></a>
+<span class="sourceLineNo">999</span>  }<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>}<a name="line.1000"></a>
 
 
 


[36/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/ResultScanner.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/ResultScanner.html b/apidocs/org/apache/hadoop/hbase/client/class-use/ResultScanner.html
index 1376754..cd88dcf 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/ResultScanner.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/ResultScanner.html
@@ -130,42 +130,42 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-byte:A-">getScanner</a></span>(byte[]&nbsp;family)</code>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-byte:A-">getScanner</a></span>(byte[]&nbsp;family)</code>
 <div class="block">Gets a scanner on the current table for the given family.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-byte:A-">getScanner</a></span>(byte[]&nbsp;family)</code>
+<td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-byte:A-">getScanner</a></span>(byte[]&nbsp;family)</code>
 <div class="block">Gets a scanner on the current table for the given family.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-byte:A-byte:A-">getScanner</a></span>(byte[]&nbsp;family,
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-byte:A-byte:A-">getScanner</a></span>(byte[]&nbsp;family,
           byte[]&nbsp;qualifier)</code>
 <div class="block">Gets a scanner on the current table for the given family and qualifier.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-byte:A-byte:A-">getScanner</a></span>(byte[]&nbsp;family,
+<td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-byte:A-byte:A-">getScanner</a></span>(byte[]&nbsp;family,
           byte[]&nbsp;qualifier)</code>
 <div class="block">Gets a scanner on the current table for the given family and qualifier.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
-<div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> object.</div>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
+<div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>
+ object.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
-<div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>
- object.</div>
+<td class="colLast"><span class="typeNameLabel">AsyncTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
+<div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> object.</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Row.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Row.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Row.html
index 7d66811..e45a76e 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Row.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Row.html
@@ -179,19 +179,19 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;other)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Mutation.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;d)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">Mutation.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;d)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Increment.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">Increment.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;other)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html b/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
index 29c4474..4b11626 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
@@ -119,8 +119,8 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-">checkAndMutate</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-">checkAndMutate</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -130,8 +130,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-">checkAndMutate</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-">checkAndMutate</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -141,14 +141,14 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#mutateRow-org.apache.hadoop.hbase.client.RowMutations-">mutateRow</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutation)</code>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#mutateRow-org.apache.hadoop.hbase.client.RowMutations-">mutateRow</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#mutateRow-org.apache.hadoop.hbase.client.RowMutations-">mutateRow</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#mutateRow-org.apache.hadoop.hbase.client.RowMutations-">mutateRow</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutation)</code>
 <div class="block">Performs multiple mutations atomically on a single row.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Scan.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Scan.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Scan.html
index 649cf03..6a6e899 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Scan.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Scan.html
@@ -147,8 +147,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Scan.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html#setAllowPartialResults-boolean-">setAllowPartialResults</a></span>(boolean&nbsp;allowPartialResults)</code>
-<div class="block">Setting whether the caller wants to see the partial results that may be returned from the
- server.</div>
+<div class="block">Setting whether the caller wants to see the partial results when server returns
+ less-than-expected cells.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -167,7 +167,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Scan.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html#setBatch-int-">setBatch</a></span>(int&nbsp;batch)</code>
-<div class="block">Set the maximum number of values to return for each call to next().</div>
+<div class="block">Set the maximum number of cells to return for each call to next().</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -382,15 +382,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
-<div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> object.</div>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
+<div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>
+ object.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
-<div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>
- object.</div>
+<td class="colLast"><span class="typeNameLabel">AsyncTable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-org.apache.hadoop.hbase.client.Scan-">getScanner</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
+<div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> object.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -686,7 +686,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#setScan-org.apache.hadoop.hbase.client.Scan-">setScan</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html#setScan-org.apache.hadoop.hbase.client.Scan-">setScan</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Sets the scan defining the actual details like columns etc.</div>
 </td>
 </tr>
@@ -698,7 +698,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html#setScan-org.apache.hadoop.hbase.client.Scan-">setScan</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
+<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#setScan-org.apache.hadoop.hbase.client.Scan-">setScan</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</code>
 <div class="block">Sets the scan defining the actual details like columns etc.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Table.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Table.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Table.html
index 36d521e..5d35ef2 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Table.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Table.html
@@ -172,11 +172,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#setHTable-org.apache.hadoop.hbase.client.Table-">setHTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;htable)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#setHTable-org.apache.hadoop.hbase.client.Table-">setHTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;htable)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#setHTable-org.apache.hadoop.hbase.client.Table-">setHTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;htable)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#setHTable-org.apache.hadoop.hbase.client.Table-">setHTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;htable)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/package-frame.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-frame.html b/apidocs/org/apache/hadoop/hbase/client/package-frame.html
index 344e261..cfdfe6b 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-frame.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-frame.html
@@ -28,6 +28,8 @@
 <li><a href="RawAsyncTable.CoprocessorCallable.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RawAsyncTable.CoprocessorCallable</span></a></li>
 <li><a href="RawAsyncTable.CoprocessorCallback.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RawAsyncTable.CoprocessorCallback</span></a></li>
 <li><a href="RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RawScanResultConsumer</span></a></li>
+<li><a href="RawScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RawScanResultConsumer.ScanController</span></a></li>
+<li><a href="RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RawScanResultConsumer.ScanResumer</span></a></li>
 <li><a href="RegionLocator.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RegionLocator</span></a></li>
 <li><a href="RequestController.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RequestController</span></a></li>
 <li><a href="RequestController.Checker.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RequestController.Checker</span></a></li>
@@ -59,6 +61,7 @@
 <li><a href="Result.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">Result</a></li>
 <li><a href="RowMutations.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">RowMutations</a></li>
 <li><a href="Scan.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">Scan</a></li>
+<li><a href="ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">ShortCircuitMasterConnection</a></li>
 <li><a href="SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">SnapshotDescription</a></li>
 <li><a href="TableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TableSnapshotScanner</a></li>
 <li><a href="UnmodifyableHTableDescriptor.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">UnmodifyableHTableDescriptor</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/package-summary.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-summary.html b/apidocs/org/apache/hadoop/hbase/client/package-summary.html
index 5a73a42..8c7b992 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-summary.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-summary.html
@@ -177,6 +177,18 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client">RawScanResultConsumer.ScanController</a></td>
+<td class="colLast">
+<div class="block">Used to suspend or stop a scan.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client">RawScanResultConsumer.ScanResumer</a></td>
+<td class="colLast">
+<div class="block">Used to resume a scan.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a></td>
 <td class="colLast">
 <div class="block">Used to view region location information for a single HBase table.</div>
@@ -348,18 +360,25 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></td>
+<td class="colLast">
+<div class="block">A short-circuit connection that can bypass the RPC layer (serialization, deserialization,
+ networking, etc..) when talking to a local master</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a></td>
 <td class="colLast">
 <div class="block">The POJO equivalent of HBaseProtos.SnapshotDescription</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client">TableSnapshotScanner</a></td>
 <td class="colLast">
 <div class="block">A Scanner which performs a scan over snapshot files.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">UnmodifyableHTableDescriptor</a></td>
 <td class="colLast">
 <div class="block">Read-only table descriptor.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-tree.html b/apidocs/org/apache/hadoop/hbase/client/package-tree.html
index 5f82e1c..dd553d6 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -121,6 +121,7 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestControllerFactory.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestControllerFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Result</span></a> (implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellScanner)</li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">RowMutations</span></a> (implements org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">ShortCircuitMasterConnection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotDescription</span></a></li>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
@@ -211,6 +212,8 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallable.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawAsyncTable.CoprocessorCallable</span></a>&lt;S,R&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawAsyncTable.CoprocessorCallback</span></a>&lt;R&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawScanResultConsumer</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawScanResultConsumer.ScanController</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawScanResultConsumer.ScanResumer</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.Checker.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.Checker</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RpcRetryingCaller.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RpcRetryingCaller</span></a>&lt;T&gt;</li>
@@ -223,16 +226,16 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.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/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/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/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/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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/package-use.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/package-use.html b/apidocs/org/apache/hadoop/hbase/client/package-use.html
index 0c1af1c..422eeaa 100644
--- a/apidocs/org/apache/hadoop/hbase/client/package-use.html
+++ b/apidocs/org/apache/hadoop/hbase/client/package-use.html
@@ -330,6 +330,16 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RawScanResultConsumer.ScanController.html#org.apache.hadoop.hbase.client">RawScanResultConsumer.ScanController</a>
+<div class="block">Used to suspend or stop a scan.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RawScanResultConsumer.ScanResumer.html#org.apache.hadoop.hbase.client">RawScanResultConsumer.ScanResumer</a>
+<div class="block">Used to resume a scan.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/client/class-use/RegionLoadStats.html#org.apache.hadoop.hbase.client">RegionLoadStats</a>
 <div class="block">POJO representing region server load</div>
 </td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html b/apidocs/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html
index 7cc4b0d..03f4ce7 100644
--- a/apidocs/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html
+++ b/apidocs/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html
@@ -363,7 +363,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#peerAdded-java.lang.String-">peerAdded</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
+</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -975,8 +975,9 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>peerAdded</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#line.524">peerAdded</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)
-               throws <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#line.525">peerAdded</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)
+                           throws <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/coprocessor/package-summary.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/coprocessor/package-summary.html b/apidocs/org/apache/hadoop/hbase/coprocessor/package-summary.html
index 6a761e8..ef8c062 100644
--- a/apidocs/org/apache/hadoop/hbase/coprocessor/package-summary.html
+++ b/apidocs/org/apache/hadoop/hbase/coprocessor/package-summary.html
@@ -214,11 +214,6 @@ observe and mediate client actions on the region:
   <li>preCheckAndDelete, postCheckAndDelete: Called before and after the client
   calls checkAndDelete().</li>
 </ul>
-You can also extend abstract class <code>BaseRegionObserverCoprocessor</code>
-which
-implements both <code>Coprocessor</code> and <code>RegionObserver</code>.
-In addition, it overrides all methods with default behaviors so you don't
-have to override all of them.
 <p>
 Here's an example of what a simple RegionObserver might look like. This
 example shows how to implement access control for HBase. This

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignException.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignException.html b/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignException.html
index 85ff146..8a6fda3 100644
--- a/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignException.html
+++ b/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignException.html
@@ -335,7 +335,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>serialize</h4>
-<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html#line.139">serialize</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;source,
+<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html#line.138">serialize</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;source,
                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
 <div class="block">Converts a ForeignException to an array of bytes.</div>
 <dl>
@@ -353,7 +353,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>deserialize</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/errorhandling/ForeignException.html" title="class in org.apache.hadoop.hbase.errorhandling">ForeignException</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html#line.165">deserialize</a>(byte[]&nbsp;bytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/errorhandling/ForeignException.html" title="class in org.apache.hadoop.hbase.errorhandling">ForeignException</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html#line.164">deserialize</a>(byte[]&nbsp;bytes)
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Takes a series of bytes and tries to generate an ForeignException instance for it.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html b/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
index 6e627e0..62bcd21 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
@@ -320,7 +320,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.31">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.206">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -340,7 +340,7 @@ for (CompareFilter.CompareOp c : CompareFilter.CompareOp.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.31">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.206">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html b/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
index c389c38..76a70ef 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
@@ -139,7 +139,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
  Note : It may emit KVs which do not have the given columns in them, if
  these KVs happen to occur before a KV which does have a match. Given this
  caveat, this filter is only useful for special cases
- like <a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>RowCounter</code></a>.
+ like org.apache.hadoop.hbase.mapreduce.RowCounter.
  <p></div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html b/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
index e9379b9..cdeb85d 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
@@ -359,7 +359,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.249">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.248">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -382,7 +382,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.256">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.255">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -399,7 +399,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.273">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.272">parseFrom</a>(byte[]&nbsp;pbBytes)
                                 throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -419,7 +419,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.292">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.291">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html b/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
index 9279236..c3fceeb 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  @InterfaceStability.Evolving
-public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.416">MultiRowRangeFilter.RowRange</a>
+public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.417">MultiRowRangeFilter.RowRange</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</pre>
 </li>
@@ -278,7 +278,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.447">getStartRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.446">getStartRow</a>()</pre>
 </li>
 </ul>
 <a name="getStopRow--">
@@ -287,7 +287,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.451">getStopRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.450">getStopRow</a>()</pre>
 </li>
 </ul>
 <a name="isStartRowInclusive--">
@@ -296,7 +296,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>isStartRowInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.458">isStartRowInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.457">isStartRowInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if start row is inclusive.</dd>
@@ -309,7 +309,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopRowInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.465">isStopRowInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.464">isStopRowInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if stop row is inclusive.</dd>
@@ -322,7 +322,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>contains</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.469">contains</a>(byte[]&nbsp;row)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.468">contains</a>(byte[]&nbsp;row)</pre>
 </li>
 </ul>
 <a name="contains-byte:A-int-int-">
@@ -331,7 +331,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>contains</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.473">contains</a>(byte[]&nbsp;buffer,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.472">contains</a>(byte[]&nbsp;buffer,
                         int&nbsp;offset,
                         int&nbsp;length)</pre>
 </li>
@@ -342,7 +342,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.500">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&nbsp;other)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.499">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&nbsp;other)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></dd>
@@ -355,7 +355,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isValid</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.504">isValid</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.503">isValid</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html b/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
index a59e843..75652a6 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
@@ -378,7 +378,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterKeyValue</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.128">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.130">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -412,7 +412,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.133">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.135">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -438,7 +438,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.142">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.144">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -455,7 +455,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.166">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.167">parseFrom</a>(byte[]&nbsp;pbBytes)
                                      throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -473,7 +473,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sortAndMerge</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.250">sortAndMerge</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.251">sortAndMerge</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</pre>
 <div class="block">sort the ranges and if the ranges with overlap, then merge them.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html b/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html
index 1424ac1..fdb1d11 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.CompareOp.html
@@ -116,31 +116,31 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndDelete-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndDelete-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
               byte[]&nbsp;value,
               <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected
+ value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndDelete-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndDelete-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
               byte[]&nbsp;value,
               <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected
- value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-">checkAndMutate</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-">checkAndMutate</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -150,8 +150,8 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-">checkAndMutate</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-">checkAndMutate</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -161,26 +161,26 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
            byte[]&nbsp;family,
            byte[]&nbsp;qualifier,
            <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
            byte[]&nbsp;value,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected
+ value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
            byte[]&nbsp;family,
            byte[]&nbsp;qualifier,
            <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
            byte[]&nbsp;value,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected
- value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value.</div>
 </td>
 </tr>
 </tbody>


[26/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html b/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html
index 528a7e6..8553b81 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html
@@ -69,393 +69,390 @@
 <span class="sourceLineNo">061</span>@InterfaceStability.Evolving<a name="line.61"></a>
 <span class="sourceLineNo">062</span>public class LocalHBaseCluster {<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  private static final Log LOG = LogFactory.getLog(LocalHBaseCluster.class);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final List&lt;JVMClusterUtil.MasterThread&gt; masterThreads =<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    new CopyOnWriteArrayList&lt;JVMClusterUtil.MasterThread&gt;();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private final List&lt;JVMClusterUtil.RegionServerThread&gt; regionThreads =<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    new CopyOnWriteArrayList&lt;JVMClusterUtil.RegionServerThread&gt;();<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private final static int DEFAULT_NO = 1;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  /** local mode */<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public static final String LOCAL = "local";<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  /** 'local:' */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public static final String LOCAL_COLON = LOCAL + ":";<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final Configuration conf;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private final Class&lt;? extends HMaster&gt; masterClass;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private final Class&lt;? extends HRegionServer&gt; regionServerClass;<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  /**<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * Constructor.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * @param conf<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * @throws IOException<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public LocalHBaseCluster(final Configuration conf)<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    this(conf, DEFAULT_NO);<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>  /**<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * Constructor.<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @param conf Configuration to use.  Post construction has the master's<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * address.<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @param noRegionServers Count of regionservers to start.<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * @throws IOException<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  public LocalHBaseCluster(final Configuration conf, final int noRegionServers)<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  throws IOException {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    this(conf, 1, noRegionServers, getMasterImplementation(conf),<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        getRegionServerImplementation(conf));<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<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>   * Constructor.<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * @param conf Configuration to use.  Post construction has the active master<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * address.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @param noMasters Count of masters to start.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @param noRegionServers Count of regionservers to start.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * @throws IOException<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public LocalHBaseCluster(final Configuration conf, final int noMasters,<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      final int noRegionServers)<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  throws IOException {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    this(conf, noMasters, noRegionServers, getMasterImplementation(conf),<a name="line.111"></a>
-<span class="sourceLineNo">112</span>        getRegionServerImplementation(conf));<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  @SuppressWarnings("unchecked")<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  private static Class&lt;? extends HRegionServer&gt; getRegionServerImplementation(final Configuration conf) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    return (Class&lt;? extends HRegionServer&gt;)conf.getClass(HConstants.REGION_SERVER_IMPL,<a name="line.117"></a>
-<span class="sourceLineNo">118</span>       HRegionServer.class);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  @SuppressWarnings("unchecked")<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static Class&lt;? extends HMaster&gt; getMasterImplementation(final Configuration conf) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    return (Class&lt;? extends HMaster&gt;)conf.getClass(HConstants.MASTER_IMPL,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>       HMaster.class);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  /**<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * Constructor.<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @param conf Configuration to use.  Post construction has the master's<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * address.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * @param noMasters Count of masters to start.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * @param noRegionServers Count of regionservers to start.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param masterClass<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param regionServerClass<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @throws IOException<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  @SuppressWarnings("unchecked")<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  public LocalHBaseCluster(final Configuration conf, final int noMasters,<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    final int noRegionServers, final Class&lt;? extends HMaster&gt; masterClass,<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    final Class&lt;? extends HRegionServer&gt; regionServerClass)<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  throws IOException {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    this.conf = conf;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>    // Always have masters and regionservers come up on port '0' so we don't<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // clash over default ports.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    conf.set(HConstants.MASTER_PORT, "0");<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    conf.set(HConstants.REGIONSERVER_PORT, "0");<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    if (conf.getInt(HConstants.REGIONSERVER_INFO_PORT, 0) != -1) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      conf.set(HConstants.REGIONSERVER_INFO_PORT, "0");<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>    this.masterClass = (Class&lt;? extends HMaster&gt;)<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      conf.getClass(HConstants.MASTER_IMPL, masterClass);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    // Start the HMasters.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    for (int i = 0; i &lt; noMasters; i++) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      addMaster(new Configuration(conf), i);<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    // Start the HRegionServers.<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    this.regionServerClass =<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      (Class&lt;? extends HRegionServer&gt;)conf.getClass(HConstants.REGION_SERVER_IMPL,<a name="line.160"></a>
-<span class="sourceLineNo">161</span>       regionServerClass);<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    for (int i = 0; i &lt; noRegionServers; i++) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      addRegionServer(new Configuration(conf), i);<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><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  public JVMClusterUtil.RegionServerThread addRegionServer()<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      throws IOException {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    return addRegionServer(new Configuration(conf), this.regionThreads.size());<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>  @SuppressWarnings("unchecked")<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  public JVMClusterUtil.RegionServerThread addRegionServer(<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      Configuration config, final int index)<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  throws IOException {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    // Create each regionserver with its own Configuration instance so each has<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    // its Connection instance rather than share (see HBASE_INSTANCES down in<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // the guts of ConnectionManager).<a name="line.179"></a>
-<span class="sourceLineNo">180</span><a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // Also, create separate CoordinatedStateManager instance per Server.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    // This is special case when we have to have more than 1 CoordinatedStateManager<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    // within 1 process.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    CoordinatedStateManager cp = CoordinatedStateManagerFactory.getCoordinatedStateManager(conf);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    JVMClusterUtil.RegionServerThread rst =<a name="line.186"></a>
-<span class="sourceLineNo">187</span>        JVMClusterUtil.createRegionServerThread(config, cp, (Class&lt;? extends HRegionServer&gt;) conf<a name="line.187"></a>
-<span class="sourceLineNo">188</span>            .getClass(HConstants.REGION_SERVER_IMPL, this.regionServerClass), index);<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>    this.regionThreads.add(rst);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    return rst;<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>  public JVMClusterUtil.RegionServerThread addRegionServer(<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      final Configuration config, final int index, User user)<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  throws IOException, InterruptedException {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    return user.runAs(<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        new PrivilegedExceptionAction&lt;JVMClusterUtil.RegionServerThread&gt;() {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>          @Override<a name="line.199"></a>
-<span class="sourceLineNo">200</span>          public JVMClusterUtil.RegionServerThread run() throws Exception {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>            return addRegionServer(config, index);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>          }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        });<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>  public JVMClusterUtil.MasterThread addMaster() throws IOException {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    return addMaster(new Configuration(conf), this.masterThreads.size());<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>  public JVMClusterUtil.MasterThread addMaster(Configuration c, final int index)<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  throws IOException {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // Create each master with its own Configuration instance so each has<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // its Connection instance rather than share (see HBASE_INSTANCES down in<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // the guts of ConnectionManager.<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>    // Also, create separate CoordinatedStateManager instance per Server.<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    // This is special case when we have to have more than 1 CoordinatedStateManager<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    // within 1 process.<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    CoordinatedStateManager cp = CoordinatedStateManagerFactory.getCoordinatedStateManager(conf);<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>    JVMClusterUtil.MasterThread mt = JVMClusterUtil.createMasterThread(c, cp,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        (Class&lt;? extends HMaster&gt;) conf.getClass(HConstants.MASTER_IMPL, this.masterClass), index);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    this.masterThreads.add(mt);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    return mt;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public JVMClusterUtil.MasterThread addMaster(<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      final Configuration c, final int index, User user)<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  throws IOException, InterruptedException {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return user.runAs(<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        new PrivilegedExceptionAction&lt;JVMClusterUtil.MasterThread&gt;() {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>          @Override<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          public JVMClusterUtil.MasterThread run() throws Exception {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>            return addMaster(c, index);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>          }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        });<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @param serverNumber<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @return region server<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public HRegionServer getRegionServer(int serverNumber) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    return regionThreads.get(serverNumber).getRegionServer();<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  }<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * @return Read-only list of region server threads.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  public List&lt;JVMClusterUtil.RegionServerThread&gt; getRegionServers() {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    return Collections.unmodifiableList(this.regionThreads);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  /**<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return List of running servers (Some servers may have been killed or<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * aborted during lifetime of cluster; these servers are not included in this<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * list).<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  public List&lt;JVMClusterUtil.RegionServerThread&gt; getLiveRegionServers() {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    List&lt;JVMClusterUtil.RegionServerThread&gt; liveServers =<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      new ArrayList&lt;JVMClusterUtil.RegionServerThread&gt;();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    List&lt;RegionServerThread&gt; list = getRegionServers();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    for (JVMClusterUtil.RegionServerThread rst: list) {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      if (rst.isAlive()) liveServers.add(rst);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      else LOG.info("Not alive " + rst.getName());<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    }<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return liveServers;<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>   * @return the Configuration used by this LocalHBaseCluster<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  public Configuration getConfiguration() {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    return this.conf;<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>  /**<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * Wait for the specified region server to stop. Removes this thread from list of running threads.<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * @return Name of region server that just went down.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   */<a name="line.280"></a>
-<span class="sourceLineNo">281</span>  public String waitOnRegionServer(int serverNumber) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    JVMClusterUtil.RegionServerThread regionServerThread = this.regionThreads.get(serverNumber);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    return waitOnRegionServer(regionServerThread);<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>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * Wait for the specified region server to stop. Removes this thread from list of running threads.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   * @return Name of region server that just went down.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   */<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public String waitOnRegionServer(JVMClusterUtil.RegionServerThread rst) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    while (rst.isAlive()) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        LOG.info("Waiting on " + rst.getRegionServer().toString());<a name="line.293"></a>
-<span class="sourceLineNo">294</span>        rst.join();<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      } catch (InterruptedException e) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>        e.printStackTrace();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    regionThreads.remove(rst);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    return rst.getName();<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  }<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return the HMaster thread<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public HMaster getMaster(int serverNumber) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    return masterThreads.get(serverNumber).getMaster();<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  /**<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * Gets the current active master, if available.  If no active master, returns<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * null.<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * @return the HMaster for the active master<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   */<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  public HMaster getActiveMaster() {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    for (JVMClusterUtil.MasterThread mt : masterThreads) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      if (mt.getMaster().isActiveMaster()) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        // Ensure that the current active master is not stopped.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        // We don't want to return a stopping master as an active master.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        if (mt.getMaster().isActiveMaster()  &amp;&amp; !mt.getMaster().isStopped()) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>          return mt.getMaster();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        }<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return null;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  /**<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * @return Read-only list of master threads.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   */<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  public List&lt;JVMClusterUtil.MasterThread&gt; getMasters() {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    return Collections.unmodifiableList(this.masterThreads);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @return List of running master servers (Some servers may have been killed<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * or aborted during lifetime of cluster; these servers are not included in<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * this list).<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   */<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  public List&lt;JVMClusterUtil.MasterThread&gt; getLiveMasters() {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    List&lt;JVMClusterUtil.MasterThread&gt; liveServers = new ArrayList&lt;&gt;();<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    List&lt;JVMClusterUtil.MasterThread&gt; list = getMasters();<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    for (JVMClusterUtil.MasterThread mt: list) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      if (mt.isAlive()) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        liveServers.add(mt);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    return liveServers;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  }<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  /**<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * Wait for the specified master to stop. Removes this thread from list of running threads.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * @return Name of master that just went down.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  public String waitOnMaster(int serverNumber) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    JVMClusterUtil.MasterThread masterThread = this.masterThreads.get(serverNumber);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    return waitOnMaster(masterThread);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * Wait for the specified master to stop. Removes this thread from list of running threads.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return Name of master that just went down.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public String waitOnMaster(JVMClusterUtil.MasterThread masterThread) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    while (masterThread.isAlive()) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      try {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        LOG.info("Waiting on " + masterThread.getMaster().getServerName().toString());<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        masterThread.join();<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      } catch (InterruptedException e) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        e.printStackTrace();<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>    masterThreads.remove(masterThread);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    return masterThread.getName();<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>  /**<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * Wait for Mini HBase Cluster to shut down.<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * Presumes you've already called {@link #shutdown()}.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  public void join() {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    if (this.regionThreads != null) {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      for(Thread t: this.regionThreads) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (t.isAlive()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          try {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            Threads.threadDumpingIsAlive(t);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          } catch (InterruptedException e) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>            LOG.debug("Interrupted", e);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>        }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      }<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    if (this.masterThreads != null) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      for (Thread t : this.masterThreads) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        if (t.isAlive()) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>          try {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>            Threads.threadDumpingIsAlive(t);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>          } catch (InterruptedException e) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>            LOG.debug("Interrupted", e);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>          }<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        }<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      }<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    }<a name="line.403"></a>
-<span class="sourceLineNo">404</span>  }<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>  /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * Start the cluster.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  public void startup() throws IOException {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    JVMClusterUtil.startup(this.masterThreads, this.regionThreads);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  }<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>  /**<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * Shut down the mini HBase cluster<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   */<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  public void shutdown() {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    JVMClusterUtil.shutdown(this.masterThreads, this.regionThreads);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span>  /**<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   * @param c Configuration to check.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   * @return True if a 'local' address in hbase.master value.<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   */<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  public static boolean isLocal(final Configuration c) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    boolean mode = c.getBoolean(HConstants.CLUSTER_DISTRIBUTED, HConstants.DEFAULT_CLUSTER_DISTRIBUTED);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return(mode == HConstants.CLUSTER_IS_LOCAL);<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  }<a name="line.427"></a>
-<span class="sourceLineNo">428</span><a name="line.428"></a>
-<span class="sourceLineNo">429</span>  /**<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * Test things basically work.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   * @param args<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * @throws IOException<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   */<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  public static void main(String[] args) throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    Configuration conf = HBaseConfiguration.create();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    LocalHBaseCluster cluster = new LocalHBaseCluster(conf);<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    cluster.startup();<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    Connection connection = ConnectionFactory.createConnection(conf);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    Admin admin = connection.getAdmin();<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    try {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      HTableDescriptor htd =<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        new HTableDescriptor(TableName.valueOf(cluster.getClass().getName()));<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      admin.createTable(htd);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    } finally {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      admin.close();<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    connection.close();<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    cluster.shutdown();<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">064</span>  private final List&lt;JVMClusterUtil.MasterThread&gt; masterThreads = new CopyOnWriteArrayList&lt;&gt;();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  private final List&lt;JVMClusterUtil.RegionServerThread&gt; regionThreads = new CopyOnWriteArrayList&lt;&gt;();<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private final static int DEFAULT_NO = 1;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  /** local mode */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public static final String LOCAL = "local";<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  /** 'local:' */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  public static final String LOCAL_COLON = LOCAL + ":";<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private final Configuration conf;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private final Class&lt;? extends HMaster&gt; masterClass;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private final Class&lt;? extends HRegionServer&gt; regionServerClass;<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  /**<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * Constructor.<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * @param conf<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * @throws IOException<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  public LocalHBaseCluster(final Configuration conf)<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  throws IOException {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    this(conf, DEFAULT_NO);<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * Constructor.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * @param conf Configuration to use.  Post construction has the master's<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * address.<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param noRegionServers Count of regionservers to start.<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @throws IOException<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  public LocalHBaseCluster(final Configuration conf, final int noRegionServers)<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  throws IOException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    this(conf, 1, noRegionServers, getMasterImplementation(conf),<a name="line.94"></a>
+<span class="sourceLineNo">095</span>        getRegionServerImplementation(conf));<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>  /**<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * Constructor.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * @param conf Configuration to use.  Post construction has the active master<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * address.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * @param noMasters Count of masters to start.<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @param noRegionServers Count of regionservers to start.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @throws IOException<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public LocalHBaseCluster(final Configuration conf, final int noMasters,<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      final int noRegionServers)<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  throws IOException {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    this(conf, noMasters, noRegionServers, getMasterImplementation(conf),<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        getRegionServerImplementation(conf));<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>  @SuppressWarnings("unchecked")<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  private static Class&lt;? extends HRegionServer&gt; getRegionServerImplementation(final Configuration conf) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return (Class&lt;? extends HRegionServer&gt;)conf.getClass(HConstants.REGION_SERVER_IMPL,<a name="line.115"></a>
+<span class="sourceLineNo">116</span>       HRegionServer.class);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  @SuppressWarnings("unchecked")<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  private static Class&lt;? extends HMaster&gt; getMasterImplementation(final Configuration conf) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    return (Class&lt;? extends HMaster&gt;)conf.getClass(HConstants.MASTER_IMPL,<a name="line.121"></a>
+<span class="sourceLineNo">122</span>       HMaster.class);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>  /**<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * Constructor.<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * @param conf Configuration to use.  Post construction has the master's<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * address.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @param noMasters Count of masters to start.<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @param noRegionServers Count of regionservers to start.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * @param masterClass<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * @param regionServerClass<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * @throws IOException<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  @SuppressWarnings("unchecked")<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  public LocalHBaseCluster(final Configuration conf, final int noMasters,<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    final int noRegionServers, final Class&lt;? extends HMaster&gt; masterClass,<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    final Class&lt;? extends HRegionServer&gt; regionServerClass)<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  throws IOException {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    this.conf = conf;<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>    // Always have masters and regionservers come up on port '0' so we don't<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    // clash over default ports.<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    conf.set(HConstants.MASTER_PORT, "0");<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    conf.set(HConstants.REGIONSERVER_PORT, "0");<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    if (conf.getInt(HConstants.REGIONSERVER_INFO_PORT, 0) != -1) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      conf.set(HConstants.REGIONSERVER_INFO_PORT, "0");<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>    this.masterClass = (Class&lt;? extends HMaster&gt;)<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      conf.getClass(HConstants.MASTER_IMPL, masterClass);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    // Start the HMasters.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    for (int i = 0; i &lt; noMasters; i++) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      addMaster(new Configuration(conf), i);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    // Start the HRegionServers.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    this.regionServerClass =<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      (Class&lt;? extends HRegionServer&gt;)conf.getClass(HConstants.REGION_SERVER_IMPL,<a name="line.158"></a>
+<span class="sourceLineNo">159</span>       regionServerClass);<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>    for (int i = 0; i &lt; noRegionServers; i++) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      addRegionServer(new Configuration(conf), i);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public JVMClusterUtil.RegionServerThread addRegionServer()<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      throws IOException {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    return addRegionServer(new Configuration(conf), this.regionThreads.size());<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>  @SuppressWarnings("unchecked")<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  public JVMClusterUtil.RegionServerThread addRegionServer(<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      Configuration config, final int index)<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  throws IOException {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    // Create each regionserver with its own Configuration instance so each has<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    // its Connection instance rather than share (see HBASE_INSTANCES down in<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    // the guts of ConnectionManager).<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>    // Also, create separate CoordinatedStateManager instance per Server.<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    // This is special case when we have to have more than 1 CoordinatedStateManager<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // within 1 process.<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    CoordinatedStateManager cp = CoordinatedStateManagerFactory.getCoordinatedStateManager(conf);<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>    JVMClusterUtil.RegionServerThread rst =<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        JVMClusterUtil.createRegionServerThread(config, cp, (Class&lt;? extends HRegionServer&gt;) conf<a name="line.185"></a>
+<span class="sourceLineNo">186</span>            .getClass(HConstants.REGION_SERVER_IMPL, this.regionServerClass), index);<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>    this.regionThreads.add(rst);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    return rst;<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>  public JVMClusterUtil.RegionServerThread addRegionServer(<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      final Configuration config, final int index, User user)<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  throws IOException, InterruptedException {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    return user.runAs(<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        new PrivilegedExceptionAction&lt;JVMClusterUtil.RegionServerThread&gt;() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          @Override<a name="line.197"></a>
+<span class="sourceLineNo">198</span>          public JVMClusterUtil.RegionServerThread run() throws Exception {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            return addRegionServer(config, index);<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><a name="line.203"></a>
+<span class="sourceLineNo">204</span>  public JVMClusterUtil.MasterThread addMaster() throws IOException {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    return addMaster(new Configuration(conf), this.masterThreads.size());<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>  public JVMClusterUtil.MasterThread addMaster(Configuration c, final int index)<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  throws IOException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    // Create each master with its own Configuration instance so each has<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    // its Connection instance rather than share (see HBASE_INSTANCES down in<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    // the guts of ConnectionManager.<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    // Also, create separate CoordinatedStateManager instance per Server.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    // This is special case when we have to have more than 1 CoordinatedStateManager<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    // within 1 process.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    CoordinatedStateManager cp = CoordinatedStateManagerFactory.getCoordinatedStateManager(conf);<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    JVMClusterUtil.MasterThread mt = JVMClusterUtil.createMasterThread(c, cp,<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        (Class&lt;? extends HMaster&gt;) conf.getClass(HConstants.MASTER_IMPL, this.masterClass), index);<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    this.masterThreads.add(mt);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    return mt;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public JVMClusterUtil.MasterThread addMaster(<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      final Configuration c, final int index, User user)<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  throws IOException, InterruptedException {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    return user.runAs(<a name="line.228"></a>
+<span class="sourceLineNo">229</span>        new PrivilegedExceptionAction&lt;JVMClusterUtil.MasterThread&gt;() {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>          @Override<a name="line.230"></a>
+<span class="sourceLineNo">231</span>          public JVMClusterUtil.MasterThread run() throws Exception {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            return addMaster(c, index);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>          }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>        });<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * @param serverNumber<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * @return region server<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  public HRegionServer getRegionServer(int serverNumber) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    return regionThreads.get(serverNumber).getRegionServer();<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
+<span class="sourceLineNo">244</span><a name="line.244"></a>
+<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * @return Read-only list of region server threads.<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  public List&lt;JVMClusterUtil.RegionServerThread&gt; getRegionServers() {<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    return Collections.unmodifiableList(this.regionThreads);<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>  /**<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * @return List of running servers (Some servers may have been killed or<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * aborted during lifetime of cluster; these servers are not included in this<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * list).<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  public List&lt;JVMClusterUtil.RegionServerThread&gt; getLiveRegionServers() {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    List&lt;JVMClusterUtil.RegionServerThread&gt; liveServers = new ArrayList&lt;&gt;();<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    List&lt;RegionServerThread&gt; list = getRegionServers();<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    for (JVMClusterUtil.RegionServerThread rst: list) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      if (rst.isAlive()) liveServers.add(rst);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      else LOG.info("Not alive " + rst.getName());<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    return liveServers;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @return the Configuration used by this LocalHBaseCluster<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  public Configuration getConfiguration() {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    return this.conf;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  }<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>   * Wait for the specified region server to stop. Removes this thread from list of running threads.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * @return Name of region server that just went down.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   */<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  public String waitOnRegionServer(int serverNumber) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    JVMClusterUtil.RegionServerThread regionServerThread = this.regionThreads.get(serverNumber);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    return waitOnRegionServer(regionServerThread);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  }<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>   * Wait for the specified region server to stop. Removes this thread from list of running threads.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   * @return Name of region server that just went down.<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   */<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public String waitOnRegionServer(JVMClusterUtil.RegionServerThread rst) {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    while (rst.isAlive()) {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      try {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        LOG.info("Waiting on " + rst.getRegionServer().toString());<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        rst.join();<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      } catch (InterruptedException e) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        e.printStackTrace();<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      }<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    regionThreads.remove(rst);<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    return rst.getName();<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  }<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">301</span>   * @return the HMaster thread<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  public HMaster getMaster(int serverNumber) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    return masterThreads.get(serverNumber).getMaster();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  /**<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * Gets the current active master, if available.  If no active master, returns<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * null.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * @return the HMaster for the active master<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  public HMaster getActiveMaster() {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    for (JVMClusterUtil.MasterThread mt : masterThreads) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      if (mt.getMaster().isActiveMaster()) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        // Ensure that the current active master is not stopped.<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        // We don't want to return a stopping master as an active master.<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        if (mt.getMaster().isActiveMaster()  &amp;&amp; !mt.getMaster().isStopped()) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>          return mt.getMaster();<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        }<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    }<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    return null;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * @return Read-only list of master threads.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   */<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  public List&lt;JVMClusterUtil.MasterThread&gt; getMasters() {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return Collections.unmodifiableList(this.masterThreads);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @return List of running master servers (Some servers may have been killed<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * or aborted during lifetime of cluster; these servers are not included in<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * this list).<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  public List&lt;JVMClusterUtil.MasterThread&gt; getLiveMasters() {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    List&lt;JVMClusterUtil.MasterThread&gt; liveServers = new ArrayList&lt;&gt;();<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    List&lt;JVMClusterUtil.MasterThread&gt; list = getMasters();<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    for (JVMClusterUtil.MasterThread mt: list) {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      if (mt.isAlive()) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        liveServers.add(mt);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    }<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    return liveServers;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * Wait for the specified master to stop. Removes this thread from list of running threads.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @return Name of master that just went down.<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  public String waitOnMaster(int serverNumber) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    JVMClusterUtil.MasterThread masterThread = this.masterThreads.get(serverNumber);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    return waitOnMaster(masterThread);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>  /**<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * Wait for the specified master to stop. Removes this thread from list of running threads.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @return Name of master that just went down.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   */<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  public String waitOnMaster(JVMClusterUtil.MasterThread masterThread) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    while (masterThread.isAlive()) {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      try {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>        LOG.info("Waiting on " + masterThread.getMaster().getServerName().toString());<a name="line.364"></a>
+<span class="sourceLineNo">365</span>        masterThread.join();<a name="line.365"></a>
+<span class="sourceLineNo">366</span>      } catch (InterruptedException e) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>        e.printStackTrace();<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      }<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    masterThreads.remove(masterThread);<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    return masterThread.getName();<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
+<span class="sourceLineNo">373</span><a name="line.373"></a>
+<span class="sourceLineNo">374</span>  /**<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * Wait for Mini HBase Cluster to shut down.<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * Presumes you've already called {@link #shutdown()}.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   */<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public void join() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (this.regionThreads != null) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      for(Thread t: this.regionThreads) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        if (t.isAlive()) {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          try {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            Threads.threadDumpingIsAlive(t);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          } catch (InterruptedException e) {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>            LOG.debug("Interrupted", e);<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          }<a name="line.386"></a>
+<span class="sourceLineNo">387</span>        }<a name="line.387"></a>
+<span class="sourceLineNo">388</span>      }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    if (this.masterThreads != null) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      for (Thread t : this.masterThreads) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        if (t.isAlive()) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>          try {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>            Threads.threadDumpingIsAlive(t);<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          } catch (InterruptedException e) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>            LOG.debug("Interrupted", e);<a name="line.396"></a>
+<span class="sourceLineNo">397</span>          }<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      }<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    }<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * Start the cluster.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
+<span class="sourceLineNo">406</span>  public void startup() throws IOException {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    JVMClusterUtil.startup(this.masterThreads, this.regionThreads);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>  }<a name="line.408"></a>
+<span class="sourceLineNo">409</span><a name="line.409"></a>
+<span class="sourceLineNo">410</span>  /**<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * Shut down the mini HBase cluster<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   */<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  public void shutdown() {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    JVMClusterUtil.shutdown(this.masterThreads, this.regionThreads);<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  }<a name="line.415"></a>
+<span class="sourceLineNo">416</span><a name="line.416"></a>
+<span class="sourceLineNo">417</span>  /**<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @param c Configuration to check.<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * @return True if a 'local' address in hbase.master value.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  public static boolean isLocal(final Configuration c) {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    boolean mode = c.getBoolean(HConstants.CLUSTER_DISTRIBUTED, HConstants.DEFAULT_CLUSTER_DISTRIBUTED);<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    return(mode == HConstants.CLUSTER_IS_LOCAL);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
+<span class="sourceLineNo">425</span><a name="line.425"></a>
+<span class="sourceLineNo">426</span>  /**<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * Test things basically work.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param args<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @throws IOException<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   */<a name="line.430"></a>
+<span class="sourceLineNo">431</span>  public static void main(String[] args) throws IOException {<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    Configuration conf = HBaseConfiguration.create();<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    LocalHBaseCluster cluster = new LocalHBaseCluster(conf);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>    cluster.startup();<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    Connection connection = ConnectionFactory.createConnection(conf);<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    Admin admin = connection.getAdmin();<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    try {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      HTableDescriptor htd =<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        new HTableDescriptor(TableName.valueOf(cluster.getClass().getName()));<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      admin.createTable(htd);<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    } finally {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>      admin.close();<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    connection.close();<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    cluster.shutdown();<a name="line.445"></a>
+<span class="sourceLineNo">446</span>  }<a name="line.446"></a>
+<span class="sourceLineNo">447</span>}<a name="line.447"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.Builder.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.Builder.html b/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.Builder.html
index 8bdecba..a53f303 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.Builder.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.Builder.html
@@ -65,14 +65,14 @@
 <span class="sourceLineNo">057</span><a name="line.57"></a>
 <span class="sourceLineNo">058</span>  public final static Set&lt;String&gt; RESERVED_NAMESPACES;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>  static {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    Set&lt;String&gt; set = new HashSet&lt;String&gt;();<a name="line.60"></a>
+<span class="sourceLineNo">060</span>    Set&lt;String&gt; set = new HashSet&lt;&gt;();<a name="line.60"></a>
 <span class="sourceLineNo">061</span>    set.add(NamespaceDescriptor.DEFAULT_NAMESPACE_NAME_STR);<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    set.add(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR);<a name="line.62"></a>
 <span class="sourceLineNo">063</span>    RESERVED_NAMESPACES = Collections.unmodifiableSet(set);<a name="line.63"></a>
 <span class="sourceLineNo">064</span>  }<a name="line.64"></a>
 <span class="sourceLineNo">065</span>  public final static Set&lt;byte[]&gt; RESERVED_NAMESPACES_BYTES;<a name="line.65"></a>
 <span class="sourceLineNo">066</span>  static {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    Set&lt;byte[]&gt; set = new TreeSet&lt;byte[]&gt;(Bytes.BYTES_RAWCOMPARATOR);<a name="line.67"></a>
+<span class="sourceLineNo">067</span>    Set&lt;byte[]&gt; set = new TreeSet&lt;&gt;(Bytes.BYTES_RAWCOMPARATOR);<a name="line.67"></a>
 <span class="sourceLineNo">068</span>    for(String name: RESERVED_NAMESPACES) {<a name="line.68"></a>
 <span class="sourceLineNo">069</span>      set.add(Bytes.toBytes(name));<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
@@ -173,7 +173,7 @@
 <span class="sourceLineNo">165</span>  @InterfaceStability.Evolving<a name="line.165"></a>
 <span class="sourceLineNo">166</span>  public static class Builder {<a name="line.166"></a>
 <span class="sourceLineNo">167</span>    private String bName;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    private Map&lt;String, String&gt; bConfiguration = new TreeMap&lt;String, String&gt;();<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    private Map&lt;String, String&gt; bConfiguration = new TreeMap&lt;&gt;();<a name="line.168"></a>
 <span class="sourceLineNo">169</span><a name="line.169"></a>
 <span class="sourceLineNo">170</span>    private Builder(NamespaceDescriptor ns) {<a name="line.170"></a>
 <span class="sourceLineNo">171</span>      this.bName = ns.name;<a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.html b/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.html
index 8bdecba..a53f303 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/NamespaceDescriptor.html
@@ -65,14 +65,14 @@
 <span class="sourceLineNo">057</span><a name="line.57"></a>
 <span class="sourceLineNo">058</span>  public final static Set&lt;String&gt; RESERVED_NAMESPACES;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>  static {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    Set&lt;String&gt; set = new HashSet&lt;String&gt;();<a name="line.60"></a>
+<span class="sourceLineNo">060</span>    Set&lt;String&gt; set = new HashSet&lt;&gt;();<a name="line.60"></a>
 <span class="sourceLineNo">061</span>    set.add(NamespaceDescriptor.DEFAULT_NAMESPACE_NAME_STR);<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    set.add(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR);<a name="line.62"></a>
 <span class="sourceLineNo">063</span>    RESERVED_NAMESPACES = Collections.unmodifiableSet(set);<a name="line.63"></a>
 <span class="sourceLineNo">064</span>  }<a name="line.64"></a>
 <span class="sourceLineNo">065</span>  public final static Set&lt;byte[]&gt; RESERVED_NAMESPACES_BYTES;<a name="line.65"></a>
 <span class="sourceLineNo">066</span>  static {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    Set&lt;byte[]&gt; set = new TreeSet&lt;byte[]&gt;(Bytes.BYTES_RAWCOMPARATOR);<a name="line.67"></a>
+<span class="sourceLineNo">067</span>    Set&lt;byte[]&gt; set = new TreeSet&lt;&gt;(Bytes.BYTES_RAWCOMPARATOR);<a name="line.67"></a>
 <span class="sourceLineNo">068</span>    for(String name: RESERVED_NAMESPACES) {<a name="line.68"></a>
 <span class="sourceLineNo">069</span>      set.add(Bytes.toBytes(name));<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
@@ -173,7 +173,7 @@
 <span class="sourceLineNo">165</span>  @InterfaceStability.Evolving<a name="line.165"></a>
 <span class="sourceLineNo">166</span>  public static class Builder {<a name="line.166"></a>
 <span class="sourceLineNo">167</span>    private String bName;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    private Map&lt;String, String&gt; bConfiguration = new TreeMap&lt;String, String&gt;();<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    private Map&lt;String, String&gt; bConfiguration = new TreeMap&lt;&gt;();<a name="line.168"></a>
 <span class="sourceLineNo">169</span><a name="line.169"></a>
 <span class="sourceLineNo">170</span>    private Builder(NamespaceDescriptor ns) {<a name="line.170"></a>
 <span class="sourceLineNo">171</span>      this.bName = ns.name;<a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html b/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
index 6ad3b1f..5e011f9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/ServerLoad.html
@@ -238,7 +238,7 @@
 <span class="sourceLineNo">230</span>   */<a name="line.230"></a>
 <span class="sourceLineNo">231</span>  public Map&lt;byte[], RegionLoad&gt; getRegionsLoad() {<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    Map&lt;byte[], RegionLoad&gt; regionLoads =<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      new TreeMap&lt;byte[], RegionLoad&gt;(Bytes.BYTES_COMPARATOR);<a name="line.233"></a>
+<span class="sourceLineNo">233</span>      new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    for (ClusterStatusProtos.RegionLoad rl : serverLoad.getRegionLoadsList()) {<a name="line.234"></a>
 <span class="sourceLineNo">235</span>      RegionLoad regionLoad = new RegionLoad(rl);<a name="line.235"></a>
 <span class="sourceLineNo">236</span>      regionLoads.put(regionLoad.getName(), regionLoad);<a name="line.236"></a>
@@ -269,7 +269,7 @@
 <span class="sourceLineNo">261</span>  public String[] getRsCoprocessors() {<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    // Need a set to remove duplicates, but since generated Coprocessor class<a name="line.262"></a>
 <span class="sourceLineNo">263</span>    // is not Comparable, make it a Set&lt;String&gt; instead of Set&lt;Coprocessor&gt;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    TreeSet&lt;String&gt; coprocessSet = new TreeSet&lt;String&gt;();<a name="line.264"></a>
+<span class="sourceLineNo">264</span>    TreeSet&lt;String&gt; coprocessSet = new TreeSet&lt;&gt;();<a name="line.264"></a>
 <span class="sourceLineNo">265</span>    for (Coprocessor coprocessor : obtainServerLoadPB().getCoprocessorsList()) {<a name="line.265"></a>
 <span class="sourceLineNo">266</span>      coprocessSet.add(coprocessor.getName());<a name="line.266"></a>
 <span class="sourceLineNo">267</span>    }<a name="line.267"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/ServerName.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/ServerName.html b/apidocs/src-html/org/apache/hadoop/hbase/ServerName.html
index f54b50e..7d716f9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/ServerName.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/ServerName.html
@@ -107,7 +107,7 @@
 <span class="sourceLineNo">099</span>   * @see #getVersionedBytes()<a name="line.99"></a>
 <span class="sourceLineNo">100</span>   */<a name="line.100"></a>
 <span class="sourceLineNo">101</span>  private byte [] bytes;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public static final List&lt;ServerName&gt; EMPTY_SERVER_LIST = new ArrayList&lt;ServerName&gt;(0);<a name="line.102"></a>
+<span class="sourceLineNo">102</span>  public static final List&lt;ServerName&gt; EMPTY_SERVER_LIST = new ArrayList&lt;&gt;(0);<a name="line.102"></a>
 <span class="sourceLineNo">103</span><a name="line.103"></a>
 <span class="sourceLineNo">104</span>  protected ServerName(final String hostname, final int port, final long startcode) {<a name="line.104"></a>
 <span class="sourceLineNo">105</span>    this(Address.fromParts(hostname, port), startcode);<a name="line.105"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/TableName.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/TableName.html b/apidocs/src-html/org/apache/hadoop/hbase/TableName.html
index f3837c1..9f0d5e5 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/TableName.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/TableName.html
@@ -65,7 +65,7 @@
 <span class="sourceLineNo">057</span>public final class TableName implements Comparable&lt;TableName&gt; {<a name="line.57"></a>
 <span class="sourceLineNo">058</span><a name="line.58"></a>
 <span class="sourceLineNo">059</span>  /** See {@link #createTableNameIfNecessary(ByteBuffer, ByteBuffer)} */<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private static final Set&lt;TableName&gt; tableCache = new CopyOnWriteArraySet&lt;TableName&gt;();<a name="line.60"></a>
+<span class="sourceLineNo">060</span>  private static final Set&lt;TableName&gt; tableCache = new CopyOnWriteArraySet&lt;&gt;();<a name="line.60"></a>
 <span class="sourceLineNo">061</span><a name="line.61"></a>
 <span class="sourceLineNo">062</span>  /** Namespace delimiter */<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  //this should always be only 1 byte long<a name="line.63"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Append.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Append.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Append.html
index 6de6c3e..75443d1 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Append.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Append.html
@@ -131,7 +131,7 @@
 <span class="sourceLineNo">123</span>    byte [] family = CellUtil.cloneFamily(cell);<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    List&lt;Cell&gt; list = this.familyMap.get(family);<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    if (list == null) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      list  = new ArrayList&lt;Cell&gt;(1);<a name="line.126"></a>
+<span class="sourceLineNo">126</span>      list  = new ArrayList&lt;&gt;(1);<a name="line.126"></a>
 <span class="sourceLineNo">127</span>    }<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    // find where the new entry should be placed in the List<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    list.add(cell);<a name="line.129"></a>


[09/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html
index 39ebcf3..9340f9d 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html
@@ -73,41 +73,40 @@
 <span class="sourceLineNo">065</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.65"></a>
 <span class="sourceLineNo">066</span><a name="line.66"></a>
 <span class="sourceLineNo">067</span>    // Map of tables to writers<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    final Map&lt;ImmutableBytesWritable, RecordWriter&lt;ImmutableBytesWritable, V&gt;&gt; tableWriters =<a name="line.68"></a>
-<span class="sourceLineNo">069</span>        new HashMap&lt;ImmutableBytesWritable, RecordWriter&lt;ImmutableBytesWritable, V&gt;&gt;();<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      @Override<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      public void write(ImmutableBytesWritable tableName, V cell)<a name="line.73"></a>
-<span class="sourceLineNo">074</span>          throws IOException, InterruptedException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        RecordWriter&lt;ImmutableBytesWritable, V&gt; tableWriter = tableWriters.get(tableName);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>        // if there is new table, verify that table directory exists<a name="line.76"></a>
-<span class="sourceLineNo">077</span>        if (tableWriter == null) {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>          // using table name as directory name<a name="line.78"></a>
-<span class="sourceLineNo">079</span>          final Path tableOutputDir = new Path(outputDir, Bytes.toString(tableName.copyBytes()));<a name="line.79"></a>
-<span class="sourceLineNo">080</span>          fs.mkdirs(tableOutputDir);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>          LOG.info("Writing Table '" + tableName.toString() + "' data into following directory"<a name="line.81"></a>
-<span class="sourceLineNo">082</span>              + tableOutputDir.toString());<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>          // Create writer for one specific table<a name="line.84"></a>
-<span class="sourceLineNo">085</span>          tableWriter = new HFileOutputFormat2.HFileRecordWriter&lt;V&gt;(context, tableOutputDir);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>          // Put table into map<a name="line.86"></a>
-<span class="sourceLineNo">087</span>          tableWriters.put(tableName, tableWriter);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        }<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        // Write &lt;Row, Cell&gt; into tableWriter<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        // in the original code, it does not use Row<a name="line.90"></a>
-<span class="sourceLineNo">091</span>        tableWriter.write(null, cell);<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>      @Override<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      public void close(TaskAttemptContext c) throws IOException, InterruptedException {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>        for (RecordWriter&lt;ImmutableBytesWritable, V&gt; writer : tableWriters.values()) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>          writer.close(c);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        }<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>  }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>}<a name="line.102"></a>
+<span class="sourceLineNo">068</span>    final Map&lt;ImmutableBytesWritable, RecordWriter&lt;ImmutableBytesWritable, V&gt;&gt; tableWriters = new HashMap&lt;&gt;();<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      public void write(ImmutableBytesWritable tableName, V cell)<a name="line.72"></a>
+<span class="sourceLineNo">073</span>          throws IOException, InterruptedException {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>        RecordWriter&lt;ImmutableBytesWritable, V&gt; tableWriter = tableWriters.get(tableName);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        // if there is new table, verify that table directory exists<a name="line.75"></a>
+<span class="sourceLineNo">076</span>        if (tableWriter == null) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>          // using table name as directory name<a name="line.77"></a>
+<span class="sourceLineNo">078</span>          final Path tableOutputDir = new Path(outputDir, Bytes.toString(tableName.copyBytes()));<a name="line.78"></a>
+<span class="sourceLineNo">079</span>          fs.mkdirs(tableOutputDir);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          LOG.info("Writing Table '" + tableName.toString() + "' data into following directory"<a name="line.80"></a>
+<span class="sourceLineNo">081</span>              + tableOutputDir.toString());<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>          // Create writer for one specific table<a name="line.83"></a>
+<span class="sourceLineNo">084</span>          tableWriter = new HFileOutputFormat2.HFileRecordWriter&lt;&gt;(context, tableOutputDir);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>          // Put table into map<a name="line.85"></a>
+<span class="sourceLineNo">086</span>          tableWriters.put(tableName, tableWriter);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>        }<a name="line.87"></a>
+<span class="sourceLineNo">088</span>        // Write &lt;Row, Cell&gt; into tableWriter<a name="line.88"></a>
+<span class="sourceLineNo">089</span>        // in the original code, it does not use Row<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        tableWriter.write(null, cell);<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>      @Override<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      public void close(TaskAttemptContext c) throws IOException, InterruptedException {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>        for (RecordWriter&lt;ImmutableBytesWritable, V&gt; writer : tableWriters.values()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>          writer.close(c);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        }<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      }<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>}<a name="line.101"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html
index f4e33a0..bb2a823 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html
@@ -100,7 +100,7 @@
 <span class="sourceLineNo">092</span>      throw new IllegalArgumentException("There must be at least 1 scan configuration set to : "<a name="line.92"></a>
 <span class="sourceLineNo">093</span>          + SCANS);<a name="line.93"></a>
 <span class="sourceLineNo">094</span>    }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    List&lt;Scan&gt; scans = new ArrayList&lt;Scan&gt;();<a name="line.95"></a>
+<span class="sourceLineNo">095</span>    List&lt;Scan&gt; scans = new ArrayList&lt;&gt;();<a name="line.95"></a>
 <span class="sourceLineNo">096</span><a name="line.96"></a>
 <span class="sourceLineNo">097</span>    for (int i = 0; i &lt; rawScans.length; i++) {<a name="line.97"></a>
 <span class="sourceLineNo">098</span>      try {<a name="line.98"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html
index f32d89d..97b325f 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html
@@ -171,7 +171,7 @@
 <span class="sourceLineNo">163</span>      throw new IOException("No scans were provided.");<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    }<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>    Map&lt;TableName, List&lt;Scan&gt;&gt; tableMaps = new HashMap&lt;TableName, List&lt;Scan&gt;&gt;();<a name="line.166"></a>
+<span class="sourceLineNo">166</span>    Map&lt;TableName, List&lt;Scan&gt;&gt; tableMaps = new HashMap&lt;&gt;();<a name="line.166"></a>
 <span class="sourceLineNo">167</span>    for (Scan scan : scans) {<a name="line.167"></a>
 <span class="sourceLineNo">168</span>      byte[] tableNameBytes = scan.getAttribute(Scan.SCAN_ATTRIBUTES_TABLE_NAME);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>      if (tableNameBytes == null)<a name="line.169"></a>
@@ -181,13 +181,13 @@
 <span class="sourceLineNo">173</span><a name="line.173"></a>
 <span class="sourceLineNo">174</span>      List&lt;Scan&gt; scanList = tableMaps.get(tableName);<a name="line.174"></a>
 <span class="sourceLineNo">175</span>      if (scanList == null) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>        scanList = new ArrayList&lt;Scan&gt;();<a name="line.176"></a>
+<span class="sourceLineNo">176</span>        scanList = new ArrayList&lt;&gt;();<a name="line.176"></a>
 <span class="sourceLineNo">177</span>        tableMaps.put(tableName, scanList);<a name="line.177"></a>
 <span class="sourceLineNo">178</span>      }<a name="line.178"></a>
 <span class="sourceLineNo">179</span>      scanList.add(scan);<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>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;();<a name="line.182"></a>
+<span class="sourceLineNo">182</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;&gt;();<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    Iterator iter = tableMaps.entrySet().iterator();<a name="line.183"></a>
 <span class="sourceLineNo">184</span>    while (iter.hasNext()) {<a name="line.184"></a>
 <span class="sourceLineNo">185</span>      Map.Entry&lt;TableName, List&lt;Scan&gt;&gt; entry = (Map.Entry&lt;TableName, List&lt;Scan&gt;&gt;) iter.next();<a name="line.185"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html
index ac18540..c880dfd 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html
@@ -87,10 +87,10 @@
 <span class="sourceLineNo">079</span>        "putsortreducer.row.threshold", 1L * (1&lt;&lt;30));<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    Iterator&lt;Put&gt; iter = puts.iterator();<a name="line.80"></a>
 <span class="sourceLineNo">081</span>    while (iter.hasNext()) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      TreeSet&lt;KeyValue&gt; map = new TreeSet&lt;KeyValue&gt;(CellComparator.COMPARATOR);<a name="line.82"></a>
+<span class="sourceLineNo">082</span>      TreeSet&lt;KeyValue&gt; map = new TreeSet&lt;&gt;(CellComparator.COMPARATOR);<a name="line.82"></a>
 <span class="sourceLineNo">083</span>      long curSize = 0;<a name="line.83"></a>
 <span class="sourceLineNo">084</span>      // stop at the end or the RAM threshold<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      List&lt;Tag&gt; tags = new ArrayList&lt;Tag&gt;();<a name="line.85"></a>
+<span class="sourceLineNo">085</span>      List&lt;Tag&gt; tags = new ArrayList&lt;&gt;();<a name="line.85"></a>
 <span class="sourceLineNo">086</span>      while (iter.hasNext() &amp;&amp; curSize &lt; threshold) {<a name="line.86"></a>
 <span class="sourceLineNo">087</span>        // clear the tags<a name="line.87"></a>
 <span class="sourceLineNo">088</span>        tags.clear();<a name="line.88"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ResultSerialization.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ResultSerialization.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ResultSerialization.html
index 2a0b51a..dcdd181 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ResultSerialization.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ResultSerialization.html
@@ -100,7 +100,7 @@
 <span class="sourceLineNo">092</span>      }<a name="line.92"></a>
 <span class="sourceLineNo">093</span>      byte[] buf = new byte[totalBuffer];<a name="line.93"></a>
 <span class="sourceLineNo">094</span>      readChunked(in, buf, 0, totalBuffer);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      List&lt;Cell&gt; kvs = new ArrayList&lt;Cell&gt;();<a name="line.95"></a>
+<span class="sourceLineNo">095</span>      List&lt;Cell&gt; kvs = new ArrayList&lt;&gt;();<a name="line.95"></a>
 <span class="sourceLineNo">096</span>      int offset = 0;<a name="line.96"></a>
 <span class="sourceLineNo">097</span>      while (offset &lt; totalBuffer) {<a name="line.97"></a>
 <span class="sourceLineNo">098</span>        int keyLength = Bytes.toInt(buf, offset);<a name="line.98"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
index 87c73d9..97fbe11 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
@@ -84,196 +84,195 @@
 <span class="sourceLineNo">076</span>     * @param values  The columns.<a name="line.76"></a>
 <span class="sourceLineNo">077</span>     * @param context  The current context.<a name="line.77"></a>
 <span class="sourceLineNo">078</span>     * @throws IOException When something is broken with the data.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>     * @see org.apache.hadoop.mapreduce.Mapper#map(KEYIN, VALUEIN,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>     *   org.apache.hadoop.mapreduce.Mapper.Context)<a name="line.80"></a>
-<span class="sourceLineNo">081</span>     */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    @Override<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public void map(ImmutableBytesWritable row, Result values,<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      Context context)<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    throws IOException {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      // Count every row containing data, whether it's in qualifiers or values<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      context.getCounter(Counters.ROWS).increment(1);<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>
-<span class="sourceLineNo">091</span>  /**<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * Sets up the actual job.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   *<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param conf  The current configuration.<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @param args  The command line parameters.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * @return The newly created job.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * @throws IOException When setting up the job fails.<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  public static Job createSubmittableJob(Configuration conf, String[] args)<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  throws IOException {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    String tableName = args[0];<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    List&lt;MultiRowRangeFilter.RowRange&gt; rowRangeList = null;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    long startTime = 0;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    long endTime = 0;<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>    StringBuilder sb = new StringBuilder();<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>    final String rangeSwitch = "--range=";<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    final String startTimeArgKey = "--starttime=";<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    final String endTimeArgKey = "--endtime=";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    final String expectedCountArg = "--expected-count=";<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // First argument is table name, starting from second<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    for (int i = 1; i &lt; args.length; i++) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      if (args[i].startsWith(rangeSwitch)) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        try {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>          rowRangeList = parseRowRangeParameter(args[i], rangeSwitch);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        } catch (IllegalArgumentException e) {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>          return null;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>        continue;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.124"></a>
-<span class="sourceLineNo">125</span>        continue;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        continue;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.132"></a>
-<span class="sourceLineNo">133</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        continue;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      // if no switch, assume column names<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      sb.append(args[i]);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      sb.append(" ");<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    if (endTime &lt; startTime) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return null;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    job.setJarByClass(RowCounter.class);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    Scan scan = new Scan();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    scan.setCacheBlocks(false);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    setScanFilter(scan, rowRangeList);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (sb.length() &gt; 0) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        else {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.159"></a>
-<span class="sourceLineNo">160</span>        }<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>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    job.setNumReduceTasks(0);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return job;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  private static List&lt;MultiRowRangeFilter.RowRange&gt; parseRowRangeParameter(<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    String arg, String rangeSwitch) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    final String[] ranges = arg.substring(rangeSwitch.length()).split(";");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    final List&lt;MultiRowRangeFilter.RowRange&gt; rangeList = new ArrayList&lt;&gt;();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    for (String range : ranges) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      String[] startEnd = range.split(",", 2);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      if (startEnd.length != 2 || startEnd[1].contains(",")) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        printUsage("Please specify range in such format as \"--range=a,b\" " +<a name="line.178"></a>
-<span class="sourceLineNo">179</span>            "or, with only one boundary, \"--range=,b\" or \"--range=a,\"");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        throw new IllegalArgumentException("Wrong range specification: " + range);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      }<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      String startKey = startEnd[0];<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      String endKey = startEnd[1];<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      rangeList.add(new MultiRowRangeFilter.RowRange(<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        Bytes.toBytesBinary(startKey), true,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        Bytes.toBytesBinary(endKey), false));<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    return rangeList;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<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>   * Sets filter {@link FilterBase} to the {@link Scan} instance.<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * If provided rowRangeList contains more than one element,<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * method sets filter which is instance of {@link MultiRowRangeFilter}.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * Otherwise, method sets filter which is instance of {@link FirstKeyOnlyFilter}.<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * If rowRangeList contains exactly one element, startRow and stopRow are set to the scan.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * @param scan<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   * @param rowRangeList<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  private static void setScanFilter(Scan scan, List&lt;MultiRowRangeFilter.RowRange&gt; rowRangeList) {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    final int size = rowRangeList == null ? 0 : rowRangeList.size();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    if (size &lt;= 1) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      scan.setFilter(new FirstKeyOnlyFilter());<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (size == 1) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      MultiRowRangeFilter.RowRange range = rowRangeList.get(0);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      scan.setStartRow(range.getStartRow()); //inclusive<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      scan.setStopRow(range.getStopRow());   //exclusive<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    } else if (size &gt; 1) {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      scan.setFilter(new MultiRowRangeFilter(rowRangeList));<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><a name="line.213"></a>
-<span class="sourceLineNo">214</span>  /*<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @param errorMessage Can attach a message when error occurs.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  private static void printUsage(String errorMessage) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    System.err.println("ERROR: " + errorMessage);<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    printUsage();<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Prints usage without error message.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private static void printUsage() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        "[--range=[startKey],[endKey][;[startKey],[endKey]...]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    System.err.println("For performance consider the following options:\n"<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        + "-Dmapreduce.map.speculative=false");<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  @Override<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  public int run(String[] args) throws Exception {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    if (args.length &lt; 1) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return -1;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    if (job == null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      return -1;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    }<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    boolean success = job.waitForCompletion(true);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      success = expectedCount == counter.getValue();<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      if (!success) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            "' does not match expected count of '" + expectedCount + "'");<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>    return (success ? 0 : 1);<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>  /**<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * Main entry point.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @param args The command line parameters.<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @throws Exception When running the job fails.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  public static void main(String[] args) throws Exception {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    System.exit(errCode);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>}<a name="line.268"></a>
+<span class="sourceLineNo">079</span>     * @see org.apache.hadoop.mapreduce.Mapper#map(Object, Object, Context)<a name="line.79"></a>
+<span class="sourceLineNo">080</span>     */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    public void map(ImmutableBytesWritable row, Result values,<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      Context context)<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    throws IOException {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>      // Count every row containing data, whether it's in qualifiers or values<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      context.getCounter(Counters.ROWS).increment(1);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    }<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>
+<span class="sourceLineNo">091</span>   * Sets up the actual job.<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   *<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   * @param conf  The current configuration.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * @param args  The command line parameters.<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @return The newly created job.<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @throws IOException When setting up the job fails.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  public static Job createSubmittableJob(Configuration conf, String[] args)<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  throws IOException {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    String tableName = args[0];<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    List&lt;MultiRowRangeFilter.RowRange&gt; rowRangeList = null;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    long startTime = 0;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    long endTime = 0;<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>    StringBuilder sb = new StringBuilder();<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    final String rangeSwitch = "--range=";<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    final String startTimeArgKey = "--starttime=";<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    final String endTimeArgKey = "--endtime=";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    final String expectedCountArg = "--expected-count=";<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>    // First argument is table name, starting from second<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    for (int i = 1; i &lt; args.length; i++) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      if (args[i].startsWith(rangeSwitch)) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        try {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>          rowRangeList = parseRowRangeParameter(args[i], rangeSwitch);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>        } catch (IllegalArgumentException e) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          return null;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        continue;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      }<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        continue;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        continue;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.131"></a>
+<span class="sourceLineNo">132</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        continue;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      }<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      // if no switch, assume column names<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      sb.append(args[i]);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      sb.append(" ");<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    if (endTime &lt; startTime) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      return null;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    job.setJarByClass(RowCounter.class);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    Scan scan = new Scan();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    scan.setCacheBlocks(false);<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    setScanFilter(scan, rowRangeList);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    if (sb.length() &gt; 0) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        else {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        }<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    job.setNumReduceTasks(0);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return job;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  private static List&lt;MultiRowRangeFilter.RowRange&gt; parseRowRangeParameter(<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    String arg, String rangeSwitch) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    final String[] ranges = arg.substring(rangeSwitch.length()).split(";");<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    final List&lt;MultiRowRangeFilter.RowRange&gt; rangeList = new ArrayList&lt;&gt;();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    for (String range : ranges) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      String[] startEnd = range.split(",", 2);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      if (startEnd.length != 2 || startEnd[1].contains(",")) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        printUsage("Please specify range in such format as \"--range=a,b\" " +<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            "or, with only one boundary, \"--range=,b\" or \"--range=a,\"");<a name="line.178"></a>
+<span class="sourceLineNo">179</span>        throw new IllegalArgumentException("Wrong range specification: " + range);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      String startKey = startEnd[0];<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      String endKey = startEnd[1];<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      rangeList.add(new MultiRowRangeFilter.RowRange(<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        Bytes.toBytesBinary(startKey), true,<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        Bytes.toBytesBinary(endKey), false));<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    return rangeList;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * Sets filter {@link FilterBase} to the {@link Scan} instance.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * If provided rowRangeList contains more than one element,<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * method sets filter which is instance of {@link MultiRowRangeFilter}.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * Otherwise, method sets filter which is instance of {@link FirstKeyOnlyFilter}.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * If rowRangeList contains exactly one element, startRow and stopRow are set to the scan.<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param scan<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * @param rowRangeList<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  private static void setScanFilter(Scan scan, List&lt;MultiRowRangeFilter.RowRange&gt; rowRangeList) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    final int size = rowRangeList == null ? 0 : rowRangeList.size();<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    if (size &lt;= 1) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      scan.setFilter(new FirstKeyOnlyFilter());<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    if (size == 1) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      MultiRowRangeFilter.RowRange range = rowRangeList.get(0);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      scan.setStartRow(range.getStartRow()); //inclusive<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      scan.setStopRow(range.getStopRow());   //exclusive<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    } else if (size &gt; 1) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      scan.setFilter(new MultiRowRangeFilter(rowRangeList));<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><a name="line.212"></a>
+<span class="sourceLineNo">213</span>  /*<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * @param errorMessage Can attach a message when error occurs.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  private static void printUsage(String errorMessage) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    System.err.println("ERROR: " + errorMessage);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    printUsage();<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>  /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * Prints usage without error message.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private static void printUsage() {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.226"></a>
+<span class="sourceLineNo">227</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        "[--range=[startKey],[endKey][;[startKey],[endKey]...]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    System.err.println("For performance consider the following options:\n"<a name="line.229"></a>
+<span class="sourceLineNo">230</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        + "-Dmapreduce.map.speculative=false");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  @Override<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  public int run(String[] args) throws Exception {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    if (args.length &lt; 1) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      return -1;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    if (job == null) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      return -1;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    boolean success = job.waitForCompletion(true);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      success = expectedCount == counter.getValue();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      if (!success) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.250"></a>
+<span class="sourceLineNo">251</span>            "' does not match expected count of '" + expectedCount + "'");<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return (success ? 0 : 1);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * Main entry point.<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * @param args The command line parameters.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @throws Exception When running the job fails.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public static void main(String[] args) throws Exception {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    System.exit(errCode);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>}<a name="line.267"></a>
 
 
 


[08/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html
index 7003255..a2b0cb0 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html
@@ -145,523 +145,522 @@
 <span class="sourceLineNo">137</span><a name="line.137"></a>
 <span class="sourceLineNo">138</span>  <a name="line.138"></a>
 <span class="sourceLineNo">139</span>  /** The reverse DNS lookup cache mapping: IPAddress =&gt; HostName */<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  private HashMap&lt;InetAddress, String&gt; reverseDNSCacheMap =<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    new HashMap&lt;InetAddress, String&gt;();<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * Builds a {@link TableRecordReader}. If no {@link TableRecordReader} was provided, uses<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * the default.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   *<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * @param split  The split to work with.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   * @param context  The current context.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * @return The newly created record reader.<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * @throws IOException When creating the reader fails.<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * @see org.apache.hadoop.mapreduce.InputFormat#createRecordReader(<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   *   org.apache.hadoop.mapreduce.InputSplit,<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   *   org.apache.hadoop.mapreduce.TaskAttemptContext)<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public RecordReader&lt;ImmutableBytesWritable, Result&gt; createRecordReader(<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      InputSplit split, TaskAttemptContext context)<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  throws IOException {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    // Just in case a subclass is relying on JobConfigurable magic.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    if (table == null) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      initialize(context);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    // null check in case our child overrides getTable to not throw.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    try {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      if (getTable() == null) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        // initialize() must not have been implemented in the subclass.<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        throw new IOException(INITIALIZATION_ERROR);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    } catch (IllegalStateException exception) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      throw new IOException(INITIALIZATION_ERROR, exception);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    TableSplit tSplit = (TableSplit) split;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    LOG.info("Input split length: " + StringUtils.humanReadableInt(tSplit.getLength()) + " bytes.");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    final TableRecordReader trr =<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        this.tableRecordReader != null ? this.tableRecordReader : new TableRecordReader();<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    Scan sc = new Scan(this.scan);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    sc.setStartRow(tSplit.getStartRow());<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    sc.setStopRow(tSplit.getEndRow());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    trr.setScan(sc);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    trr.setTable(getTable());<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    return new RecordReader&lt;ImmutableBytesWritable, Result&gt;() {<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>      @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      public void close() throws IOException {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        trr.close();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        closeTable();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      }<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>      @Override<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      public ImmutableBytesWritable getCurrentKey() throws IOException, InterruptedException {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        return trr.getCurrentKey();<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>      @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      public Result getCurrentValue() throws IOException, InterruptedException {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        return trr.getCurrentValue();<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>      @Override<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      public float getProgress() throws IOException, InterruptedException {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>        return trr.getProgress();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>      @Override<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      public void initialize(InputSplit inputsplit, TaskAttemptContext context) throws IOException,<a name="line.205"></a>
-<span class="sourceLineNo">206</span>          InterruptedException {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        trr.initialize(inputsplit, context);<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>      @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>        return trr.nextKeyValue();<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>  }<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected Pair&lt;byte[][],byte[][]&gt; getStartEndKeys() throws IOException {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    return getRegionLocator().getStartEndKeys();<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>  /**<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * Calculates the splits that will serve as input for the map tasks. The<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * number of splits matches the number of regions in a table.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   *<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @param context  The current job context.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * @return The list of input splits.<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * @throws IOException When creating the list of splits fails.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * @see org.apache.hadoop.mapreduce.InputFormat#getSplits(<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   *   org.apache.hadoop.mapreduce.JobContext)<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  @Override<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    boolean closeOnFinish = false;<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>    // Just in case a subclass is relying on JobConfigurable magic.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    if (table == null) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      initialize(context);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      closeOnFinish = true;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>    // null check in case our child overrides getTable to not throw.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    try {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      if (getTable() == null) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        // initialize() must not have been implemented in the subclass.<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        throw new IOException(INITIALIZATION_ERROR);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      }<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    } catch (IllegalStateException exception) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      throw new IOException(INITIALIZATION_ERROR, exception);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>    try {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      RegionSizeCalculator sizeCalculator =<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          new RegionSizeCalculator(getRegionLocator(), getAdmin());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      <a name="line.254"></a>
-<span class="sourceLineNo">255</span>      TableName tableName = getTable().getName();<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  <a name="line.256"></a>
-<span class="sourceLineNo">257</span>      Pair&lt;byte[][], byte[][]&gt; keys = getStartEndKeys();<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      if (keys == null || keys.getFirst() == null ||<a name="line.258"></a>
-<span class="sourceLineNo">259</span>          keys.getFirst().length == 0) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        HRegionLocation regLoc =<a name="line.260"></a>
-<span class="sourceLineNo">261</span>            getRegionLocator().getRegionLocation(HConstants.EMPTY_BYTE_ARRAY, false);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        if (null == regLoc) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>          throw new IOException("Expecting at least one region.");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>        List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(1);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        long regionSize = sizeCalculator.getRegionSize(regLoc.getRegionInfo().getRegionName());<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        TableSplit split = new TableSplit(tableName, scan,<a name="line.267"></a>
-<span class="sourceLineNo">268</span>            HConstants.EMPTY_BYTE_ARRAY, HConstants.EMPTY_BYTE_ARRAY, regLoc<a name="line.268"></a>
-<span class="sourceLineNo">269</span>                .getHostnamePort().split(Addressing.HOSTNAME_PORT_SEPARATOR)[0], regionSize);<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        splits.add(split);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>        return splits;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      }<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(keys.getFirst().length);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      for (int i = 0; i &lt; keys.getFirst().length; i++) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        if (!includeRegionInSplit(keys.getFirst()[i], keys.getSecond()[i])) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          continue;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>        }<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>        byte[] startRow = scan.getStartRow();<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        byte[] stopRow = scan.getStopRow();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        // determine if the given start an stop key fall into the region<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        if ((startRow.length == 0 || keys.getSecond()[i].length == 0 ||<a name="line.282"></a>
-<span class="sourceLineNo">283</span>            Bytes.compareTo(startRow, keys.getSecond()[i]) &lt; 0) &amp;&amp;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>            (stopRow.length == 0 ||<a name="line.284"></a>
-<span class="sourceLineNo">285</span>             Bytes.compareTo(stopRow, keys.getFirst()[i]) &gt; 0)) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>          byte[] splitStart = startRow.length == 0 ||<a name="line.286"></a>
-<span class="sourceLineNo">287</span>            Bytes.compareTo(keys.getFirst()[i], startRow) &gt;= 0 ?<a name="line.287"></a>
-<span class="sourceLineNo">288</span>              keys.getFirst()[i] : startRow;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>          byte[] splitStop = (stopRow.length == 0 ||<a name="line.289"></a>
-<span class="sourceLineNo">290</span>            Bytes.compareTo(keys.getSecond()[i], stopRow) &lt;= 0) &amp;&amp;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>            keys.getSecond()[i].length &gt; 0 ?<a name="line.291"></a>
-<span class="sourceLineNo">292</span>              keys.getSecond()[i] : stopRow;<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>          HRegionLocation location = getRegionLocator().getRegionLocation(keys.getFirst()[i], false);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          // The below InetSocketAddress creation does a name resolution.<a name="line.295"></a>
-<span class="sourceLineNo">296</span>          InetSocketAddress isa = new InetSocketAddress(location.getHostname(), location.getPort());<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          if (isa.isUnresolved()) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>            LOG.warn("Failed resolve " + isa);<a name="line.298"></a>
-<span class="sourceLineNo">299</span>          }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>          InetAddress regionAddress = isa.getAddress();<a name="line.300"></a>
-<span class="sourceLineNo">301</span>          String regionLocation;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>          regionLocation = reverseDNS(regionAddress);<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>          byte[] regionName = location.getRegionInfo().getRegionName();<a name="line.304"></a>
-<span class="sourceLineNo">305</span>          String encodedRegionName = location.getRegionInfo().getEncodedName();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          long regionSize = sizeCalculator.getRegionSize(regionName);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          TableSplit split = new TableSplit(tableName, scan,<a name="line.307"></a>
-<span class="sourceLineNo">308</span>            splitStart, splitStop, regionLocation, encodedRegionName, regionSize);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          splits.add(split);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          if (LOG.isDebugEnabled()) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>            LOG.debug("getSplits: split -&gt; " + i + " -&gt; " + split);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>          }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        }<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      //The default value of "hbase.mapreduce.input.autobalance" is false, which means not enabled.<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      boolean enableAutoBalance = context.getConfiguration()<a name="line.316"></a>
-<span class="sourceLineNo">317</span>        .getBoolean(MAPREDUCE_INPUT_AUTOBALANCE, false);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      if (enableAutoBalance) {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        long totalRegionSize=0;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        for (int i = 0; i &lt; splits.size(); i++){<a name="line.320"></a>
-<span class="sourceLineNo">321</span>          TableSplit ts = (TableSplit)splits.get(i);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>          totalRegionSize += ts.getLength();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        long averageRegionSize = totalRegionSize / splits.size();<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        // the averageRegionSize must be positive.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        if (averageRegionSize &lt;= 0) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>            LOG.warn("The averageRegionSize is not positive: "+ averageRegionSize + ", " +<a name="line.327"></a>
-<span class="sourceLineNo">328</span>                    "set it to 1.");<a name="line.328"></a>
-<span class="sourceLineNo">329</span>            averageRegionSize = 1;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        }<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        return calculateRebalancedSplits(splits, context, averageRegionSize);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      } else {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        return splits;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      }<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    } finally {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      if (closeOnFinish) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>        closeTable();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      }<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    }<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  }<a name="line.340"></a>
-<span class="sourceLineNo">341</span><a name="line.341"></a>
-<span class="sourceLineNo">342</span>  String reverseDNS(InetAddress ipAddress) throws UnknownHostException {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    String hostName = this.reverseDNSCacheMap.get(ipAddress);<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (hostName == null) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      String ipAddressString = null;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      try {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        ipAddressString = DNS.reverseDns(ipAddress, null);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      } catch (Exception e) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        // We can use InetAddress in case the jndi failed to pull up the reverse DNS entry from the<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        // name service. Also, in case of ipv6, we need to use the InetAddress since resolving<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        // reverse DNS using jndi doesn't work well with ipv6 addresses.<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        ipAddressString = InetAddress.getByName(ipAddress.getHostAddress()).getHostName();<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      if (ipAddressString == null) throw new UnknownHostException("No host found for " + ipAddress);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      hostName = Strings.domainNamePointerToHostName(ipAddressString);<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      this.reverseDNSCacheMap.put(ipAddress, hostName);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    return hostName;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  }<a name="line.359"></a>
-<span class="sourceLineNo">360</span><a name="line.360"></a>
-<span class="sourceLineNo">361</span>  /**<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * Calculates the number of MapReduce input splits for the map tasks. The number of<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * MapReduce input splits depends on the average region size and the "data skew ratio" user set in<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * configuration.<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   *<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @param list  The list of input splits before balance.<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * @param context  The current job context.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param average  The average size of all regions .<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @return The list of input splits.<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @throws IOException When creating the list of splits fails.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @see org.apache.hadoop.mapreduce.InputFormat#getSplits(<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   *   org.apache.hadoop.mapreduce.JobContext)<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private List&lt;InputSplit&gt; calculateRebalancedSplits(List&lt;InputSplit&gt; list, JobContext context,<a name="line.374"></a>
-<span class="sourceLineNo">375</span>                                               long average) throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    List&lt;InputSplit&gt; resultList = new ArrayList&lt;InputSplit&gt;();<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    Configuration conf = context.getConfiguration();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    //The default data skew ratio is 3<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    long dataSkewRatio = conf.getLong(INPUT_AUTOBALANCE_MAXSKEWRATIO, 3);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    //It determines which mode to use: text key mode or binary key mode. The default is text mode.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    boolean isTextKey = context.getConfiguration().getBoolean(TABLE_ROW_TEXTKEY, true);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    long dataSkewThreshold = dataSkewRatio * average;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    int count = 0;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    while (count &lt; list.size()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      TableSplit ts = (TableSplit)list.get(count);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      TableName tableName = ts.getTable();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      String regionLocation = ts.getRegionLocation();<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      String encodedRegionName = ts.getEncodedRegionName();<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      long regionSize = ts.getLength();<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      if (regionSize &gt;= dataSkewThreshold) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        // if the current region size is large than the data skew threshold,<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        // split the region into two MapReduce input splits.<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        byte[] splitKey = getSplitKey(ts.getStartRow(), ts.getEndRow(), isTextKey);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        if (Arrays.equals(ts.getEndRow(), splitKey)) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>          // Not splitting since the end key is the same as the split key<a name="line.395"></a>
-<span class="sourceLineNo">396</span>          resultList.add(ts);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        } else {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>          //Set the size of child TableSplit as 1/2 of the region size. The exact size of the<a name="line.398"></a>
-<span class="sourceLineNo">399</span>          // MapReduce input splits is not far off.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>          TableSplit t1 = new TableSplit(tableName, scan, ts.getStartRow(), splitKey,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>              regionLocation, regionSize / 2);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>          TableSplit t2 = new TableSplit(tableName, scan, splitKey, ts.getEndRow(), regionLocation,<a name="line.402"></a>
-<span class="sourceLineNo">403</span>              regionSize - regionSize / 2);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          resultList.add(t1);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          resultList.add(t2);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        count++;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      } else if (regionSize &gt;= average) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // if the region size between average size and data skew threshold size,<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        // make this region as one MapReduce input split.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        resultList.add(ts);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        count++;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      } else {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        // if the total size of several small continuous regions less than the average region size,<a name="line.414"></a>
-<span class="sourceLineNo">415</span>        // combine them into one MapReduce input split.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        long totalSize = regionSize;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        byte[] splitStartKey = ts.getStartRow();<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        byte[] splitEndKey = ts.getEndRow();<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        count++;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        for (; count &lt; list.size(); count++) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>          TableSplit nextRegion = (TableSplit)list.get(count);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          long nextRegionSize = nextRegion.getLength();<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          if (totalSize + nextRegionSize &lt;= dataSkewThreshold) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>            totalSize = totalSize + nextRegionSize;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>            splitEndKey = nextRegion.getEndRow();<a name="line.425"></a>
-<span class="sourceLineNo">426</span>          } else {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>            break;<a name="line.427"></a>
-<span class="sourceLineNo">428</span>          }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        }<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        TableSplit t = new TableSplit(tableName, scan, splitStartKey, splitEndKey,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>                regionLocation, encodedRegionName, totalSize);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        resultList.add(t);<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      }<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    }<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    return resultList;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>  }<a name="line.436"></a>
-<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span>  /**<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * select a split point in the region. The selection of the split point is based on an uniform<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * distribution assumption for the keys in a region.<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Here are some examples:<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   *<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * &lt;table&gt;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   *   &lt;tr&gt;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   *     &lt;th&gt;start key&lt;/th&gt;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   *     &lt;th&gt;end key&lt;/th&gt;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   *     &lt;th&gt;is text&lt;/th&gt;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   *     &lt;th&gt;split point&lt;/th&gt;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   *   &lt;/tr&gt;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   *   &lt;tr&gt;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   *     &lt;td&gt;'a', 'a', 'a', 'b', 'c', 'd', 'e', 'f', 'g'&lt;/td&gt;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   *     &lt;td&gt;'a', 'a', 'a', 'f', 'f', 'f'&lt;/td&gt;<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   *     &lt;td&gt;true&lt;/td&gt;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   *     &lt;td&gt;'a', 'a', 'a', 'd', 'd', -78, 50, -77, 51&lt;/td&gt;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   *   &lt;/tr&gt;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   *   &lt;tr&gt;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   *     &lt;td&gt;'1', '1', '1', '0', '0', '0'&lt;/td&gt;<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   *     &lt;td&gt;'1', '1', '2', '5', '7', '9', '0'&lt;/td&gt;<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   *     &lt;td&gt;true&lt;/td&gt;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   *     &lt;td&gt;'1', '1', '1', -78, -77, -76, -104&lt;/td&gt;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   *   &lt;/tr&gt;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   *   &lt;tr&gt;<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   *     &lt;td&gt;'1', '1', '1', '0'&lt;/td&gt;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   *     &lt;td&gt;'1', '1', '2', '0'&lt;/td&gt;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   *     &lt;td&gt;true&lt;/td&gt;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   *     &lt;td&gt;'1', '1', '1', -80&lt;/td&gt;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   *   &lt;/tr&gt;<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   *   &lt;tr&gt;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   *     &lt;td&gt;13, -19, 126, 127&lt;/td&gt;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   *     &lt;td&gt;13, -19, 127, 0&lt;/td&gt;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   *     &lt;td&gt;false&lt;/td&gt;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   *     &lt;td&gt;13, -19, 126, -65&lt;/td&gt;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   *   &lt;/tr&gt;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   * &lt;/table&gt;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   *<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Set this function as "public static", make it easier for test.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   *<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param start Start key of the region<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param end End key of the region<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param isText It determines to use text key mode or binary key mode<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return The split point in the region.<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @InterfaceAudience.Private<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public static byte[] getSplitKey(byte[] start, byte[] end, boolean isText) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    byte upperLimitByte;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    byte lowerLimitByte;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    //Use text mode or binary mode.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    if (isText) {<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      //The range of text char set in ASCII is [32,126], the lower limit is space and the upper<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      // limit is '~'.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      upperLimitByte = '~';<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      lowerLimitByte = ' ';<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    } else {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      upperLimitByte = -1;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      lowerLimitByte = 0;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    // For special case<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    // Example 1 : startkey=null, endkey="hhhqqqwww", splitKey="h"<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    // Example 2 (text key mode): startKey="ffffaaa", endKey=null, splitkey="f~~~~~~"<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    if (start.length == 0 &amp;&amp; end.length == 0){<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      return new byte[]{(byte) ((lowerLimitByte + upperLimitByte) / 2)};<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    }<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    if (start.length == 0 &amp;&amp; end.length != 0){<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      return new byte[]{ end[0] };<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    if (start.length != 0 &amp;&amp; end.length == 0){<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      byte[] result =new byte[start.length];<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      result[0]=start[0];<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      for (int k = 1; k &lt; start.length; k++){<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          result[k] = upperLimitByte;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      }<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      return result;<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    return Bytes.split(start, end, false, 1)[1];<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>  /**<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * Test if the given region is to be included in the InputSplit while splitting<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * the regions of a table.<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * &lt;p&gt;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * This optimization is effective when there is a specific reasoning to exclude an entire region from the M-R job,<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * (and hence, not contributing to the InputSplit), given the start and end keys of the same. &lt;br&gt;<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * Useful when we need to remember the last-processed top record and revisit the [last, current) interval for M-R processing,<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * continuously. In addition to reducing InputSplits, reduces the load on the region server as well, due to the ordering of the keys.<a name="line.524"></a>
+<span class="sourceLineNo">140</span>  private HashMap&lt;InetAddress, String&gt; reverseDNSCacheMap = new HashMap&lt;&gt;();<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * Builds a {@link TableRecordReader}. If no {@link TableRecordReader} was provided, uses<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * the default.<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   *<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param split  The split to work with.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param context  The current context.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return The newly created record reader.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * @throws IOException When creating the reader fails.<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * @see org.apache.hadoop.mapreduce.InputFormat#createRecordReader(<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   *   org.apache.hadoop.mapreduce.InputSplit,<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   *   org.apache.hadoop.mapreduce.TaskAttemptContext)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  @Override<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  public RecordReader&lt;ImmutableBytesWritable, Result&gt; createRecordReader(<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      InputSplit split, TaskAttemptContext context)<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  throws IOException {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    // Just in case a subclass is relying on JobConfigurable magic.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    if (table == null) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      initialize(context);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    // null check in case our child overrides getTable to not throw.<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    try {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      if (getTable() == null) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        // initialize() must not have been implemented in the subclass.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        throw new IOException(INITIALIZATION_ERROR);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    } catch (IllegalStateException exception) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      throw new IOException(INITIALIZATION_ERROR, exception);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    }<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    TableSplit tSplit = (TableSplit) split;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    LOG.info("Input split length: " + StringUtils.humanReadableInt(tSplit.getLength()) + " bytes.");<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    final TableRecordReader trr =<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        this.tableRecordReader != null ? this.tableRecordReader : new TableRecordReader();<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    Scan sc = new Scan(this.scan);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    sc.setStartRow(tSplit.getStartRow());<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    sc.setStopRow(tSplit.getEndRow());<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    trr.setScan(sc);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    trr.setTable(getTable());<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    return new RecordReader&lt;ImmutableBytesWritable, Result&gt;() {<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>      @Override<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      public void close() throws IOException {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        trr.close();<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        closeTable();<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>      @Override<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      public ImmutableBytesWritable getCurrentKey() throws IOException, InterruptedException {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>        return trr.getCurrentKey();<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>      @Override<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      public Result getCurrentValue() throws IOException, InterruptedException {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        return trr.getCurrentValue();<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>      @Override<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      public float getProgress() throws IOException, InterruptedException {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>        return trr.getProgress();<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>      @Override<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      public void initialize(InputSplit inputsplit, TaskAttemptContext context) throws IOException,<a name="line.204"></a>
+<span class="sourceLineNo">205</span>          InterruptedException {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>        trr.initialize(inputsplit, context);<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>      @Override<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        return trr.nextKeyValue();<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      }<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><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  protected Pair&lt;byte[][],byte[][]&gt; getStartEndKeys() throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return getRegionLocator().getStartEndKeys();<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>  /**<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   * Calculates the splits that will serve as input for the map tasks. The<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * number of splits matches the number of regions in a table.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   *<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * @param context  The current job context.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   * @return The list of input splits.<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * @throws IOException When creating the list of splits fails.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   * @see org.apache.hadoop.mapreduce.InputFormat#getSplits(<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   *   org.apache.hadoop.mapreduce.JobContext)<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  @Override<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    boolean closeOnFinish = false;<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>    // Just in case a subclass is relying on JobConfigurable magic.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    if (table == null) {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      initialize(context);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      closeOnFinish = true;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>    // null check in case our child overrides getTable to not throw.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    try {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      if (getTable() == null) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        // initialize() must not have been implemented in the subclass.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        throw new IOException(INITIALIZATION_ERROR);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    } catch (IllegalStateException exception) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      throw new IOException(INITIALIZATION_ERROR, exception);<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>    try {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      RegionSizeCalculator sizeCalculator =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>          new RegionSizeCalculator(getRegionLocator(), getAdmin());<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      <a name="line.253"></a>
+<span class="sourceLineNo">254</span>      TableName tableName = getTable().getName();<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  <a name="line.255"></a>
+<span class="sourceLineNo">256</span>      Pair&lt;byte[][], byte[][]&gt; keys = getStartEndKeys();<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      if (keys == null || keys.getFirst() == null ||<a name="line.257"></a>
+<span class="sourceLineNo">258</span>          keys.getFirst().length == 0) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        HRegionLocation regLoc =<a name="line.259"></a>
+<span class="sourceLineNo">260</span>            getRegionLocator().getRegionLocation(HConstants.EMPTY_BYTE_ARRAY, false);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        if (null == regLoc) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>          throw new IOException("Expecting at least one region.");<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        List&lt;InputSplit&gt; splits = new ArrayList&lt;&gt;(1);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        long regionSize = sizeCalculator.getRegionSize(regLoc.getRegionInfo().getRegionName());<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        TableSplit split = new TableSplit(tableName, scan,<a name="line.266"></a>
+<span class="sourceLineNo">267</span>            HConstants.EMPTY_BYTE_ARRAY, HConstants.EMPTY_BYTE_ARRAY, regLoc<a name="line.267"></a>
+<span class="sourceLineNo">268</span>                .getHostnamePort().split(Addressing.HOSTNAME_PORT_SEPARATOR)[0], regionSize);<a name="line.268"></a>
+<span class="sourceLineNo">269</span>        splits.add(split);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>        return splits;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      List&lt;InputSplit&gt; splits = new ArrayList&lt;&gt;(keys.getFirst().length);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      for (int i = 0; i &lt; keys.getFirst().length; i++) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        if (!includeRegionInSplit(keys.getFirst()[i], keys.getSecond()[i])) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>          continue;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>        }<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>        byte[] startRow = scan.getStartRow();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>        byte[] stopRow = scan.getStopRow();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        // determine if the given start an stop key fall into the region<a name="line.280"></a>
+<span class="sourceLineNo">281</span>        if ((startRow.length == 0 || keys.getSecond()[i].length == 0 ||<a name="line.281"></a>
+<span class="sourceLineNo">282</span>            Bytes.compareTo(startRow, keys.getSecond()[i]) &lt; 0) &amp;&amp;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>            (stopRow.length == 0 ||<a name="line.283"></a>
+<span class="sourceLineNo">284</span>             Bytes.compareTo(stopRow, keys.getFirst()[i]) &gt; 0)) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>          byte[] splitStart = startRow.length == 0 ||<a name="line.285"></a>
+<span class="sourceLineNo">286</span>            Bytes.compareTo(keys.getFirst()[i], startRow) &gt;= 0 ?<a name="line.286"></a>
+<span class="sourceLineNo">287</span>              keys.getFirst()[i] : startRow;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>          byte[] splitStop = (stopRow.length == 0 ||<a name="line.288"></a>
+<span class="sourceLineNo">289</span>            Bytes.compareTo(keys.getSecond()[i], stopRow) &lt;= 0) &amp;&amp;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>            keys.getSecond()[i].length &gt; 0 ?<a name="line.290"></a>
+<span class="sourceLineNo">291</span>              keys.getSecond()[i] : stopRow;<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>          HRegionLocation location = getRegionLocator().getRegionLocation(keys.getFirst()[i], false);<a name="line.293"></a>
+<span class="sourceLineNo">294</span>          // The below InetSocketAddress creation does a name resolution.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>          InetSocketAddress isa = new InetSocketAddress(location.getHostname(), location.getPort());<a name="line.295"></a>
+<span class="sourceLineNo">296</span>          if (isa.isUnresolved()) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>            LOG.warn("Failed resolve " + isa);<a name="line.297"></a>
+<span class="sourceLineNo">298</span>          }<a name="line.298"></a>
+<span class="sourceLineNo">299</span>          InetAddress regionAddress = isa.getAddress();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          String regionLocation;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>          regionLocation = reverseDNS(regionAddress);<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>          byte[] regionName = location.getRegionInfo().getRegionName();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>          String encodedRegionName = location.getRegionInfo().getEncodedName();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>          long regionSize = sizeCalculator.getRegionSize(regionName);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>          TableSplit split = new TableSplit(tableName, scan,<a name="line.306"></a>
+<span class="sourceLineNo">307</span>            splitStart, splitStop, regionLocation, encodedRegionName, regionSize);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>          splits.add(split);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>          if (LOG.isDebugEnabled()) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>            LOG.debug("getSplits: split -&gt; " + i + " -&gt; " + split);<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>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      //The default value of "hbase.mapreduce.input.autobalance" is false, which means not enabled.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>      boolean enableAutoBalance = context.getConfiguration()<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        .getBoolean(MAPREDUCE_INPUT_AUTOBALANCE, false);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      if (enableAutoBalance) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        long totalRegionSize=0;<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        for (int i = 0; i &lt; splits.size(); i++){<a name="line.319"></a>
+<span class="sourceLineNo">320</span>          TableSplit ts = (TableSplit)splits.get(i);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>          totalRegionSize += ts.getLength();<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        }<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        long averageRegionSize = totalRegionSize / splits.size();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        // the averageRegionSize must be positive.<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        if (averageRegionSize &lt;= 0) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            LOG.warn("The averageRegionSize is not positive: "+ averageRegionSize + ", " +<a name="line.326"></a>
+<span class="sourceLineNo">327</span>                    "set it to 1.");<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            averageRegionSize = 1;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        return calculateRebalancedSplits(splits, context, averageRegionSize);<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      } else {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        return splits;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    } finally {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      if (closeOnFinish) {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        closeTable();<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      }<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>  String reverseDNS(InetAddress ipAddress) throws UnknownHostException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    String hostName = this.reverseDNSCacheMap.get(ipAddress);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    if (hostName == null) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      String ipAddressString = null;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      try {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>        ipAddressString = DNS.reverseDns(ipAddress, null);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      } catch (Exception e) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // We can use InetAddress in case the jndi failed to pull up the reverse DNS entry from the<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        // name service. Also, in case of ipv6, we need to use the InetAddress since resolving<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        // reverse DNS using jndi doesn't work well with ipv6 addresses.<a name="line.350"></a>
+<span class="sourceLineNo">351</span>        ipAddressString = InetAddress.getByName(ipAddress.getHostAddress()).getHostName();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      }<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      if (ipAddressString == null) throw new UnknownHostException("No host found for " + ipAddress);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      hostName = Strings.domainNamePointerToHostName(ipAddressString);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      this.reverseDNSCacheMap.put(ipAddress, hostName);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    return hostName;<a name="line.357"></a>
+<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * Calculates the number of MapReduce input splits for the map tasks. The number of<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * MapReduce input splits depends on the average region size and the "data skew ratio" user set in<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * configuration.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   *<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @param list  The list of input splits before balance.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @param context  The current job context.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @param average  The average size of all regions .<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @return The list of input splits.<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @throws IOException When creating the list of splits fails.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @see org.apache.hadoop.mapreduce.InputFormat#getSplits(<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   *   org.apache.hadoop.mapreduce.JobContext)<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   */<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  private List&lt;InputSplit&gt; calculateRebalancedSplits(List&lt;InputSplit&gt; list, JobContext context,<a name="line.373"></a>
+<span class="sourceLineNo">374</span>                                               long average) throws IOException {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    List&lt;InputSplit&gt; resultList = new ArrayList&lt;&gt;();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    Configuration conf = context.getConfiguration();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    //The default data skew ratio is 3<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    long dataSkewRatio = conf.getLong(INPUT_AUTOBALANCE_MAXSKEWRATIO, 3);<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    //It determines which mode to use: text key mode or binary key mode. The default is text mode.<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    boolean isTextKey = context.getConfiguration().getBoolean(TABLE_ROW_TEXTKEY, true);<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    long dataSkewThreshold = dataSkewRatio * average;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    int count = 0;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    while (count &lt; list.size()) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      TableSplit ts = (TableSplit)list.get(count);<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      TableName tableName = ts.getTable();<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      String regionLocation = ts.getRegionLocation();<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      String encodedRegionName = ts.getEncodedRegionName();<a name="line.387"></a>
+<span class="sourceLineNo">388</span>      long regionSize = ts.getLength();<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      if (regionSize &gt;= dataSkewThreshold) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>        // if the current region size is large than the data skew threshold,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        // split the region into two MapReduce input splits.<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        byte[] splitKey = getSplitKey(ts.getStartRow(), ts.getEndRow(), isTextKey);<a name="line.392"></a>
+<span class="sourceLineNo">393</span>        if (Arrays.equals(ts.getEndRow(), splitKey)) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>          // Not splitting since the end key is the same as the split key<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          resultList.add(ts);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        } else {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>          //Set the size of child TableSplit as 1/2 of the region size. The exact size of the<a name="line.397"></a>
+<span class="sourceLineNo">398</span>          // MapReduce input splits is not far off.<a name="line.398"></a>
+<span class="sourceLineNo">399</span>          TableSplit t1 = new TableSplit(tableName, scan, ts.getStartRow(), splitKey,<a name="line.399"></a>
+<span class="sourceLineNo">400</span>              regionLocation, regionSize / 2);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>          TableSplit t2 = new TableSplit(tableName, scan, splitKey, ts.getEndRow(), regionLocation,<a name="line.401"></a>
+<span class="sourceLineNo">402</span>              regionSize - regionSize / 2);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          resultList.add(t1);<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          resultList.add(t2);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        }<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        count++;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      } else if (regionSize &gt;= average) {<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        // if the region size between average size and data skew threshold size,<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        // make this region as one MapReduce input split.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        resultList.add(ts);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>        count++;<a name="line.411"></a>
+<span class="sourceLineNo">412</span>      } else {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        // if the total size of several small continuous regions less than the average region size,<a name="line.413"></a>
+<span class="sourceLineNo">414</span>        // combine them into one MapReduce input split.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>        long totalSize = regionSize;<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        byte[] splitStartKey = ts.getStartRow();<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        byte[] splitEndKey = ts.getEndRow();<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        count++;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        for (; count &lt; list.size(); count++) {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>          TableSplit nextRegion = (TableSplit)list.get(count);<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          long nextRegionSize = nextRegion.getLength();<a name="line.421"></a>
+<span class="sourceLineNo">422</span>          if (totalSize + nextRegionSize &lt;= dataSkewThreshold) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>            totalSize = totalSize + nextRegionSize;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>            splitEndKey = nextRegion.getEndRow();<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          } else {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>            break;<a name="line.426"></a>
+<span class="sourceLineNo">427</span>          }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
+<span class="sourceLineNo">429</span>        TableSplit t = new TableSplit(tableName, scan, splitStartKey, splitEndKey,<a name="line.429"></a>
+<span class="sourceLineNo">430</span>                regionLocation, encodedRegionName, totalSize);<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        resultList.add(t);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      }<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    }<a name="line.433"></a>
+<span class="sourceLineNo">434</span>    return resultList;<a name="line.434"></a>
+<span class="sourceLineNo">435</span>  }<a name="line.435"></a>
+<span class="sourceLineNo">436</span><a name="line.436"></a>
+<span class="sourceLineNo">437</span>  /**<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * select a split point in the region. The selection of the split point is based on an uniform<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * distribution assumption for the keys in a region.<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * Here are some examples:<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   *<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * &lt;table&gt;<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   *   &lt;tr&gt;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   *     &lt;th&gt;start key&lt;/th&gt;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   *     &lt;th&gt;end key&lt;/th&gt;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   *     &lt;th&gt;is text&lt;/th&gt;<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   *     &lt;th&gt;split point&lt;/th&gt;<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   *   &lt;/tr&gt;<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   *   &lt;tr&gt;<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   *     &lt;td&gt;'a', 'a', 'a', 'b', 'c', 'd', 'e', 'f', 'g'&lt;/td&gt;<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   *     &lt;td&gt;'a', 'a', 'a', 'f', 'f', 'f'&lt;/td&gt;<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   *     &lt;td&gt;true&lt;/td&gt;<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   *     &lt;td&gt;'a', 'a', 'a', 'd', 'd', -78, 50, -77, 51&lt;/td&gt;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   *   &lt;/tr&gt;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   *   &lt;tr&gt;<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   *     &lt;td&gt;'1', '1', '1', '0', '0', '0'&lt;/td&gt;<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   *     &lt;td&gt;'1', '1', '2', '5', '7', '9', '0'&lt;/td&gt;<a name="line.457"></a>
+<span class="sourceLineNo">458</span>   *     &lt;td&gt;true&lt;/td&gt;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>   *     &lt;td&gt;'1', '1', '1', -78, -77, -76, -104&lt;/td&gt;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>   *   &lt;/tr&gt;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   *   &lt;tr&gt;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   *     &lt;td&gt;'1', '1', '1', '0'&lt;/td&gt;<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   *     &lt;td&gt;'1', '1', '2', '0'&lt;/td&gt;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   *     &lt;td&gt;true&lt;/td&gt;<a name="line.464"></a>
+<span class="sourceLineNo">465</span>   *     &lt;td&gt;'1', '1', '1', -80&lt;/td&gt;<a name="line.465"></a>
+<span class="sourceLineNo">466</span>   *   &lt;/tr&gt;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>   *   &lt;tr&gt;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   *     &lt;td&gt;13, -19, 126, 127&lt;/td&gt;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   *     &lt;td&gt;13, -19, 127, 0&lt;/td&gt;<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   *     &lt;td&gt;false&lt;/td&gt;<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   *     &lt;td&gt;13, -19, 126, -65&lt;/td&gt;<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   *   &lt;/tr&gt;<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * &lt;/table&gt;<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   *<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   * Set this function as "public static", make it easier for test.<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   * @param start Start key of the region<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * @param end End key of the region<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   * @param isText It determines to use text key mode or binary key mode<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @return The split point in the region.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   */<a name="line.481"></a>
+<span class="sourceLineNo">482</span>  @InterfaceAudience.Private<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  public static byte[] getSplitKey(byte[] start, byte[] end, boolean isText) {<a name="line.483"></a>
+<span class="sourceLineNo">484</span>    byte upperLimitByte;<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    byte lowerLimitByte;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    //Use text mode or binary mode.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    if (isText) {<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      //The range of text char set in ASCII is [32,126], the lower limit is space and the upper<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      // limit is '~'.<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      upperLimitByte = '~';<a name="line.490"></a>
+<span class="sourceLineNo">491</span>      lowerLimitByte = ' ';<a name="line.491"></a>
+<span class="sourceLineNo">492</span>    } else {<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      upperLimitByte = -1;<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      lowerLimitByte = 0;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    // For special case<a name="line.496"></a>
+<span class="sourceLineNo">497</span>    // Example 1 : startkey=null, endkey="hhhqqqwww", splitKey="h"<a name="line.497"></a>
+<span class="sourceLineNo">498</span>    // Example 2 (text key mode): startKey="ffffaaa", endKey=null, splitkey="f~~~~~~"<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    if (start.length == 0 &amp;&amp; end.length == 0){<a name="line.499"></a>
+<span class="sourceLineNo">500</span>      return new byte[]{(byte) ((lowerLimitByte + upperLimitByte) / 2)};<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    }<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    if (start.length == 0 &amp;&amp; end.length != 0){<a name="line.502"></a>
+<span class="sourceLineNo">503</span>      return new byte[]{ end[0] };<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
+<span class="sourceLineNo">505</span>    if (start.length != 0 &amp;&amp; end.length == 0){<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      byte[] result =new byte[start.length];<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      result[0]=start[0];<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      for (int k = 1; k &lt; start.length; k++){<a name="line.508"></a>
+<span class="sourceLineNo">509</span>          result[k] = upperLimitByte;<a name="line.509"></a>
+<span class="sourceLineNo">510</span>      }<a name="line.510"></a>
+<span class="sourceLineNo">511</span>      return result;<a name="line.511"></a>
+<span class="sourceLineNo">512</span>    }<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    return Bytes.split(start, end, false, 1)[1];<a name="line.513"></a>
+<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
+<span class="sourceLineNo">515</span><a name="line.515"></a>
+<span class="sourceLineNo">516</span>  /**<a name="line.516"></a>
+<span class="sourceLineNo">517</span>   * Test if the given region is to be included in the InputSplit while splitting<a name="line.517"></a>
+<span class="sourceLineNo">518</span>   * the regions of a table.<a name="line.518"></a>
+<span class="sourceLineNo">519</span>   * &lt;p&gt;<a name="line.519"></a>
+<span class="sourceLineNo">520</span>   * This optimization is effective when there is a specific reasoning to exclude an entire region from the M-R job,<a name="line.520"></a>
+<span class="sourceLineNo">521</span>   * (and hence, not contributing to the InputSplit), given the start and end keys of the same. &lt;br&gt;<a name="line.521"></a>
+<span class="sourceLineNo">522</span>   * Useful when we need to remember the last-processed top record and revisit the [last, current) interval for M-R processing,<a name="line.522"></a>
+<span class="sourceLineNo">523</span>   * continuously. In addition to reducing InputSplits, reduces the load on the region server as well, due to the ordering of the keys.<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * &lt;br&gt;<a name="line.524"></a>
 <span class="sourceLineNo">525</span>   * &lt;br&gt;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * &lt;br&gt;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * Note: It is possible that &lt;code&gt;endKey.length() == 0 &lt;/code&gt; , for the last (recent) region.<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * &lt;br&gt;<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * Override this method, if you want to bulk exclude regions altogether from M-R. By default, no region is excluded( i.e. all regions are included).<a name="line.529"></a>
+<span class="sourceLineNo">526</span>   * Note: It is possible that &lt;code&gt;endKey.length() == 0 &lt;/code&gt; , for the last (recent) region.<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   * &lt;br&gt;<a name="line.527"></a>
+<span class="sourceLineNo">528</span>   * Override this method, if you want to bulk exclude regions altogether from M-R. By default, no region is excluded( i.e. all regions are included).<a name="line.528"></a>
+<span class="sourceLineNo">529</span>   *<a name="line.529"></a>
 <span class="sourceLineNo">530</span>   *<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   *<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * @param startKey Start key of the region<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param endKey End key of the region<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @return true, if this region needs to be included as part of the input (default).<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   *<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   */<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  protected boolean includeRegionInSplit(final byte[] startKey, final byte [] endKey) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    return true;<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>   * Allows subclasses to get the {@link RegionLocator}.<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   */<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  protected RegionLocator getRegionLocator() {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    if (regionLocator == null) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      throw new IllegalStateException(NOT_INITIALIZED);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    return regionLocator;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>  }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  <a name="line.550"></a>
-<span class="sourceLineNo">551</span>  /**<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * Allows subclasses to get the {@link Table}.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   */<a name="line.553"></a>
-<span class="sourceLineNo">554</span>  protected Table getTable() {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    if (table == null) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      throw new IllegalStateException(NOT_INITIALIZED);<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    }<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    return table;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  }<a name="line.559"></a>
-<span class="sourceLineNo">560</span><a name="line.560"></a>
-<span class="sourceLineNo">561</span>  /**<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * Allows subclasses to get the {@link Admin}.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   */<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  protected Admin getAdmin() {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (admin == null) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      throw new IllegalStateException(NOT_INITIALIZED);<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    }<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    return admin;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  }<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>  /**<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   * Allows subclasses to initialize the table information.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   *<a name="line.573"></a>
-<span class="sourceLineNo">574</span>   * @param connection  The Connection to the HBase cluster. MUST be unmanaged. We will close.<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @param tableName  The {@link TableName} of the table to process. <a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * @throws IOException <a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  protected void initializeTable(Connection connection, TableName tableName) throws IOException {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    if (this.table != null || this.connection != null) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      LOG.warn("initializeTable called multiple times. Overwriting connection and table " +<a name="line.580"></a>
-<span class="sourceLineNo">581</span>          "reference; TableInputFormatBase will not close these old references when done.");<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    }<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    this.table = connection.getTable(tableName);<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    this.regionLocator = connection.getRegionLocator(tableName);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    this.admin = connection.getAdmin();<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    this.connection = connection;<a name="line.586"></a>
-<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>  /**<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   * Gets the scan defining the actual details like columns etc.<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   *<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @return The internal scan instance.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public Scan getScan() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    if (this.scan == null) this.scan = new Scan();<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return scan;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Sets the scan defining the actual details like columns etc.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   *<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * @param scan  The scan to set.<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   */<a name="line.603"></a>
-<span class="sourceLineNo">604</span>  public void setScan(Scan scan) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    this.scan = scan;<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>  /**<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * Allows subclasses to set the {@link TableRecordReader}.<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   *<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * @param tableRecordReader A different {@link TableRecordReader}<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   *   implementation.<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  protected void setTableRecordReader(TableRecordReader tableRecordReader) {<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    this.tableRecordReader = tableRecordReader;<a name="line.615"></a>
-<span class="sourceLineNo">616</span>  }<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>   * Handle subclass specific set up.<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * Each of the entry points used by the MapReduce framework,<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * {@link #createRecordReader(InputSplit, TaskAttemptContext)} and {@link #getSplits(JobContext)},<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   * will call {@link #initialize(JobContext)} as a convenient centralized location

<TRUNCATED>

[32/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/util/EncryptionTest.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/util/EncryptionTest.html b/apidocs/org/apache/hadoop/hbase/util/EncryptionTest.html
index b04fd0d..7a77e85 100644
--- a/apidocs/org/apache/hadoop/hbase/util/EncryptionTest.html
+++ b/apidocs/org/apache/hadoop/hbase/util/EncryptionTest.html
@@ -182,7 +182,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testKeyProvider</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/EncryptionTest.html#line.58">testKeyProvider</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/EncryptionTest.html#line.57">testKeyProvider</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check that the configured key provider can be loaded and initialized, or
  throw an exception.</div>
@@ -200,7 +200,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testCipherProvider</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/EncryptionTest.html#line.83">testCipherProvider</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/EncryptionTest.html#line.82">testCipherProvider</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check that the configured cipher provider can be loaded and initialized, or
  throw an exception.</div>
@@ -218,7 +218,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testEncryption</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/EncryptionTest.html#line.111">testEncryption</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/EncryptionTest.html#line.110">testEncryption</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cipher,
                                   byte[]&nbsp;key)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/util/RegionMover.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/util/RegionMover.html b/apidocs/org/apache/hadoop/hbase/util/RegionMover.html
index e6a7ab2..4bbe058 100644
--- a/apidocs/org/apache/hadoop/hbase/util/RegionMover.html
+++ b/apidocs/org/apache/hadoop/hbase/util/RegionMover.html
@@ -176,7 +176,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.util.AbstractHBaseTool</h3>
-<code>cmdLineArgs, conf, EXIT_FAILURE, EXIT_SUCCESS</code></li>
+<code>cmdLineArgs, conf, EXIT_FAILURE, EXIT_SUCCESS, LONG_HELP_OPTION, options, SHORT_HELP_OPTION</code></li>
 </ul>
 </li>
 </ul>
@@ -237,7 +237,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.util.AbstractHBaseTool</h3>
-<code>addOption, addOptNoArg, addOptNoArg, addOptWithArg, addOptWithArg, addRequiredOption, addRequiredOptWithArg, addRequiredOptWithArg, doStaticMain, getConf, getOptionAsDouble, getOptionAsInt, parseInt, parseLong, printUsage, printUsage, processOldArgs, run, setConf</code></li>
+<code>addOption, addOptNoArg, addOptNoArg, addOptWithArg, addOptWithArg, addRequiredOption, addRequiredOptWithArg, addRequiredOptWithArg, doStaticMain, getConf, getOptionAsDouble, getOptionAsInt, parseArgs, parseInt, parseLong, printUsage, printUsage, processOldArgs, run, setConf</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -398,7 +398,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>addOptions</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionMover.html#line.941">addOptions</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionMover.html#line.940">addOptions</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.util.AbstractHBaseTool</code></span></div>
 <div class="block">Override this to add command-line options using <code>AbstractHBaseTool.addOptWithArg(java.lang.String, java.lang.String)</code>
  and similar methods.</div>
@@ -414,7 +414,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>processOptions</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionMover.html#line.962">processOptions</a>(org.apache.commons.cli.CommandLine&nbsp;cmd)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionMover.html#line.961">processOptions</a>(org.apache.commons.cli.CommandLine&nbsp;cmd)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.util.AbstractHBaseTool</code></span></div>
 <div class="block">This method is called to process the options after they have been parsed.</div>
 <dl>
@@ -429,7 +429,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>doWork</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionMover.html#line.984">doWork</a>()
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionMover.html#line.983">doWork</a>()
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.util.AbstractHBaseTool</code></span></div>
 <div class="block">The "main function" of the tool</div>
@@ -447,7 +447,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionMover.html#line.998">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/RegionMover.html#line.997">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/util/class-use/ByteRange.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/util/class-use/ByteRange.html b/apidocs/org/apache/hadoop/hbase/util/class-use/ByteRange.html
index 72f56a8..39e940e 100644
--- a/apidocs/org/apache/hadoop/hbase/util/class-use/ByteRange.html
+++ b/apidocs/org/apache/hadoop/hbase/util/class-use/ByteRange.html
@@ -254,15 +254,15 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#deepCopy--">deepCopy</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#deepCopy--">deepCopy</a></span>()</code>
 <div class="block">Create a new <code>ByteRange</code> with new backing byte[] containing a copy
  of the content from <code>this</code> range's window.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#deepCopy--">deepCopy</a></span>()</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#get-int-byte:A-">get</a></span>(int&nbsp;index,
@@ -286,16 +286,16 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
-   byte&nbsp;val)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
    byte&nbsp;val)</code>
 <div class="block">Store <code>val</code> at <code>index</code>.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
+   byte&nbsp;val)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimpleByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
@@ -303,16 +303,16 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
-   byte[]&nbsp;val)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
    byte[]&nbsp;val)</code>
 <div class="block">Store <code>val</code> at <code>index</code>.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
+   byte[]&nbsp;val)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimpleByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
@@ -322,13 +322,6 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
-   byte[]&nbsp;val,
-   int&nbsp;offset,
-   int&nbsp;length)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
    byte[]&nbsp;val,
    int&nbsp;offset,
@@ -337,6 +330,13 @@
  <code>index</code>.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
+   byte[]&nbsp;val,
+   int&nbsp;offset,
+   int&nbsp;length)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimpleByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
@@ -344,16 +344,16 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
-      int&nbsp;val)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
       int&nbsp;val)</code>
 <div class="block">Store the int value at <code>index</code></div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
+      int&nbsp;val)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimpleByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleByteRange.html#putLong-int-long-">putLong</a></span>(int&nbsp;index,
@@ -361,16 +361,16 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#putLong-int-long-">putLong</a></span>(int&nbsp;index,
-       long&nbsp;val)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#putLong-int-long-">putLong</a></span>(int&nbsp;index,
        long&nbsp;val)</code>
 <div class="block">Store the long value at <code>index</code></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#putLong-int-long-">putLong</a></span>(int&nbsp;index,
+       long&nbsp;val)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimpleByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleByteRange.html#putShort-int-short-">putShort</a></span>(int&nbsp;index,
@@ -378,16 +378,16 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#putShort-int-short-">putShort</a></span>(int&nbsp;index,
-        short&nbsp;val)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#putShort-int-short-">putShort</a></span>(int&nbsp;index,
         short&nbsp;val)</code>
 <div class="block">Store the short value at <code>index</code></div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#putShort-int-short-">putShort</a></span>(int&nbsp;index,
+        short&nbsp;val)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimpleByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleByteRange.html#set-byte:A-">set</a></span>(byte[]&nbsp;bytes)</code>&nbsp;</td>
@@ -440,14 +440,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#shallowCopy--">shallowCopy</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#shallowCopy--">shallowCopy</a></span>()</code>
 <div class="block">Create a new <code>ByteRange</code> that points at this range's byte[].</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#shallowCopy--">shallowCopy</a></span>()</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimpleByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleByteRange.html#shallowCopySubRange-int-int-">shallowCopySubRange</a></span>(int&nbsp;innerOffset,
@@ -455,30 +455,30 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#shallowCopySubRange-int-int-">shallowCopySubRange</a></span>(int&nbsp;innerOffset,
-                   int&nbsp;copyLength)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#shallowCopySubRange-int-int-">shallowCopySubRange</a></span>(int&nbsp;innerOffset,
                    int&nbsp;copyLength)</code>
 <div class="block">Create a new <code>ByteRange</code> that points at this range's byte[].</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#shallowCopySubRange-int-int-">shallowCopySubRange</a></span>(int&nbsp;innerOffset,
+                   int&nbsp;copyLength)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimpleByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleByteRange.html#unset--">unset</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#unset--">unset</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html#unset--">unset</a></span>()</code>
 <div class="block">Nullifies this ByteRange.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimpleMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimpleMutableByteRange.html#unset--">unset</a></span>()</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/util/class-use/Order.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/util/class-use/Order.html b/apidocs/org/apache/hadoop/hbase/util/class-use/Order.html
index 1da835b..3e1dfa7 100644
--- a/apidocs/org/apache/hadoop/hbase/util/class-use/Order.html
+++ b/apidocs/org/apache/hadoop/hbase/util/class-use/Order.html
@@ -133,46 +133,46 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawDouble.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawDouble.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DataType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html#getOrder--">getOrder</a></span>()</code>
+<div class="block">Retrieve the sort <a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><code>Order</code></a> imposed by this data type, or null when
+ natural ordering is not preserved.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawFloat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawFloat.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Union3.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Union3.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawByte.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawByte.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawInteger.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawInteger.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FixedLengthWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawFloat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawFloat.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawLong.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawLong.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TerminatedWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DataType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html#getOrder--">getOrder</a></span>()</code>
-<div class="block">Retrieve the sort <a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><code>Order</code></a> imposed by this data type, or null when
- natural ordering is not preserved.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">PBType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/PBType.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Union3.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Union3.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawDouble.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawDouble.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PBType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/PBType.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawShort.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawShort.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Union4.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Union4.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Union2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Union2.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Struct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Struct.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Union4.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Union4.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
@@ -180,19 +180,19 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawInteger.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawInteger.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawLong.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawLong.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TerminatedWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Struct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Struct.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawShort.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawShort.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawString.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawString.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawString.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawString.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FixedLengthWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
@@ -200,7 +200,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util">Order</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Union2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Union2.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawByte.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawByte.html#getOrder--">getOrder</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>


[41/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/TableName.html b/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
index 5868fbe..34f4e86 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -399,31 +399,31 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#getName--">getName</a></span>()</code>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#getName--">getName</a></span>()</code>
 <div class="block">Gets the fully qualified table name instance of this table.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html#getName--">getName</a></span>()</code>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#getName--">getName</a></span>()</code>
 <div class="block">Gets the fully qualified table name instance of this table.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BufferedMutator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html#getName--">getName</a></span>()</code>
-<div class="block">Gets the fully qualified table name instance of the table that this BufferedMutator writes to.</div>
+<td class="colLast"><span class="typeNameLabel">AsyncTableRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html#getName--">getName</a></span>()</code>
+<div class="block">Gets the fully qualified table name instance of the table whose region we want to locate.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html#getName--">getName</a></span>()</code>
-<div class="block">Gets the fully qualified table name instance of the table whose region we want to locate.</div>
+<td class="colLast"><span class="typeNameLabel">BufferedMutator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html#getName--">getName</a></span>()</code>
+<div class="block">Gets the fully qualified table name instance of the table that this BufferedMutator writes to.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Table.html#getName--">getName</a></span>()</code>
+<td class="colLast"><span class="typeNameLabel">RegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html#getName--">getName</a></span>()</code>
 <div class="block">Gets the fully qualified table name instance of this table.</div>
 </td>
 </tr>
@@ -1475,7 +1475,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RSGroupInfo.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#getTables--">getTables</a></span>()</code>
-<div class="block">Set of tables that are members of this group</div>
+<div class="block">Get set of tables that are members of the group.</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html b/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html
index 9178688..b106144 100644
--- a/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html
+++ b/apidocs/org/apache/hadoop/hbase/client/ConnectionFactory.html
@@ -111,13 +111,13 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  @InterfaceStability.Evolving
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.59">ConnectionFactory</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.58">ConnectionFactory</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">A non-instantiable class that manages creation of <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>s.
- Managing the lifecycle of the <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>s to the cluster is the responsibility of
- the caller.
- From a <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>, <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> implementations are retrieved
- with <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getTable-org.apache.hadoop.hbase.TableName-"><code>Connection.getTable(TableName)</code></a>. Example:
+<div class="block">A non-instantiable class that manages creation of <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>s. Managing the lifecycle of
+ the <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>s to the cluster is the responsibility of the caller. From a
+ <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>, <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> implementations are retrieved with
+ <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getTable-org.apache.hadoop.hbase.TableName-"><code>Connection.getTable(org.apache.hadoop.hbase.TableName)</code></a>. Example:
+
  <pre>
  Connection connection = ConnectionFactory.createConnection(config);
  Table table = connection.getTable(TableName.valueOf("table1"));
@@ -196,20 +196,20 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection--">createAsyncConnection</a></span>()</code>
 <div class="block">Call <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-"><code>createAsyncConnection(Configuration)</code></a> using default HBaseConfiguration.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-">createAsyncConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Call <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-"><code>createAsyncConnection(Configuration, User)</code></a> using the given <code>conf</code> and a
  User object created by <code>UserProvider</code>.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-">createAsyncConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                      <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>
 <div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>
@@ -277,7 +277,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBASE_CLIENT_ASYNC_CONNECTION_IMPL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.61">HBASE_CLIENT_ASYNC_CONNECTION_IMPL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.60">HBASE_CLIENT_ASYNC_CONNECTION_IMPL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.ConnectionFactory.HBASE_CLIENT_ASYNC_CONNECTION_IMPL">Constant Field Values</a></dd>
@@ -298,7 +298,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ConnectionFactory</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.65">ConnectionFactory</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.63">ConnectionFactory</a>()</pre>
 <div class="block">No public c.tors</div>
 </li>
 </ul>
@@ -316,17 +316,15 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.92">createConnection</a>()
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.88">createConnection</a>()
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Create a new Connection instance using default HBaseConfiguration. Connection
- encapsulates all housekeeping for a connection to the cluster. All tables and interfaces
- created from returned connection share zookeeper connection, meta cache, and connections
- to region servers and masters.
- <br>
- The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned
- connection instance.
+<div class="block">Create a new Connection instance using default HBaseConfiguration. Connection encapsulates all
+ housekeeping for a connection to the cluster. All tables and interfaces created from returned
+ connection share zookeeper connection, meta cache, and connections to region servers and
+ masters. <br>
+ The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned connection
+ instance. Typical usage:
 
- Typical usage:
  <pre>
  Connection connection = ConnectionFactory.createConnection();
  Table table = connection.getTable(TableName.valueOf("mytable"));
@@ -352,17 +350,15 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.121">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.115">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance. Connection
  encapsulates all housekeeping for a connection to the cluster. All tables and interfaces
- created from returned connection share zookeeper connection, meta cache, and connections
- to region servers and masters.
- <br>
- The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned
- connection instance.
+ created from returned connection share zookeeper connection, meta cache, and connections to
+ region servers and masters. <br>
+ The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned connection
+ instance. Typical usage:
 
- Typical usage:
  <pre>
  Connection connection = ConnectionFactory.createConnection(conf);
  Table table = connection.getTable(TableName.valueOf("mytable"));
@@ -390,18 +386,16 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.151">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.143">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                           <a href="http://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>&nbsp;pool)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance. Connection
  encapsulates all housekeeping for a connection to the cluster. All tables and interfaces
- created from returned connection share zookeeper connection, meta cache, and connections
- to region servers and masters.
- <br>
- The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned
- connection instance.
+ created from returned connection share zookeeper connection, meta cache, and connections to
+ region servers and masters. <br>
+ The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned connection
+ instance. Typical usage:
 
- Typical usage:
  <pre>
  Connection connection = ConnectionFactory.createConnection(conf);
  Table table = connection.getTable(TableName.valueOf("mytable"));
@@ -430,18 +424,16 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.182">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.172">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                           <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance. Connection
  encapsulates all housekeeping for a connection to the cluster. All tables and interfaces
- created from returned connection share zookeeper connection, meta cache, and connections
- to region servers and masters.
- <br>
- The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned
- connection instance.
+ created from returned connection share zookeeper connection, meta cache, and connections to
+ region servers and masters. <br>
+ The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned connection
+ instance. Typical usage:
 
- Typical usage:
  <pre>
  Connection connection = ConnectionFactory.createConnection(conf);
  Table table = connection.getTable(TableName.valueOf("table1"));
@@ -470,19 +462,17 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.214">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.201">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                           <a href="http://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>&nbsp;pool,
                                           <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a new Connection instance using the passed <code>conf</code> instance. Connection
  encapsulates all housekeeping for a connection to the cluster. All tables and interfaces
- created from returned connection share zookeeper connection, meta cache, and connections
- to region servers and masters.
- <br>
- The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned
- connection instance.
+ created from returned connection share zookeeper connection, meta cache, and connections to
+ region servers and masters. <br>
+ The caller is responsible for calling <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#close--"><code>Connection.close()</code></a> on the returned connection
+ instance. Typical usage:
 
- Typical usage:
  <pre>
  Connection connection = ConnectionFactory.createConnection(conf);
  Table table = connection.getTable(TableName.valueOf("table1"));
@@ -512,14 +502,11 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createAsyncConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.246">createAsyncConnection</a>()
-                                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.232">createAsyncConnection</a>()</pre>
 <div class="block">Call <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-"><code>createAsyncConnection(Configuration)</code></a> using default HBaseConfiguration.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>AsyncConnection object</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd>AsyncConnection object wrapped by CompletableFuture</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-"><code>createAsyncConnection(Configuration)</code></a></dd>
 </dl>
@@ -531,8 +518,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createAsyncConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.259">createAsyncConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
-                                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.245">createAsyncConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Call <a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-"><code>createAsyncConnection(Configuration, User)</code></a> using the given <code>conf</code> and a
  User object created by <code>UserProvider</code>. The given <code>conf</code> will also be used to
  initialize the <code>UserProvider</code>.</div>
@@ -540,9 +526,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>conf</code> - configuration</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>AsyncConnection object</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd>AsyncConnection object wrapped by CompletableFuture</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-"><code>createAsyncConnection(Configuration, User)</code></a>,
 <code>UserProvider</code></dd>
@@ -555,9 +539,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createAsyncConnection</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.279">createAsyncConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                                                    <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
-                                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html#line.273">createAsyncConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                                                       <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 <div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.
  AsyncConnection encapsulates all housekeeping for a connection to the cluster. All tables and
  interfaces created from returned connection share zookeeper connection, meta cache, and
@@ -573,7 +556,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <dd><code>conf</code> - configuration</dd>
 <dd><code>user</code> - the user the asynchronous connection is for</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>AsyncConnection object</dd>
+<dd>AsyncConnection object wrapped by CompletableFuture</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/Durability.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/Durability.html b/apidocs/org/apache/hadoop/hbase/client/Durability.html
index 7efcff6..58db6a9 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Durability.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Durability.html
@@ -294,7 +294,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Durability.html#line.31">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Durability.html#line.59">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -314,7 +314,7 @@ for (Durability c : Durability.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Durability.html#line.31">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Durability.html#line.59">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/Get.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/Get.html b/apidocs/org/apache/hadoop/hbase/client/Get.html
index e5cd38a..5c96a82 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Get.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Get.html
@@ -130,7 +130,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  @InterfaceStability.Stable
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.68">Get</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.69">Get</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;</pre>
 <div class="block">Used to perform Get operations on a single row.
@@ -199,6 +199,18 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Get.html#Get-byte:A-int-int-">Get</a></span>(byte[]&nbsp;row,
+   int&nbsp;rowOffset,
+   int&nbsp;rowLength)</code>
+<div class="block">Create a Get operation for the specified row.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Get.html#Get-java.nio.ByteBuffer-">Get</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;row)</code>
+<div class="block">Create a Get operation for the specified row.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Get.html#Get-org.apache.hadoop.hbase.client.Get-">Get</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
 <div class="block">Copy-constructor</div>
 </td>
@@ -522,7 +534,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <a name="Get-org.apache.hadoop.hbase.client.Get-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>Get</h4>
 <pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.99">Get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
@@ -533,6 +545,38 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </dl>
 </li>
 </ul>
+<a name="Get-byte:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Get</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.140">Get</a>(byte[]&nbsp;row,
+           int&nbsp;rowOffset,
+           int&nbsp;rowLength)</pre>
+<div class="block">Create a Get operation for the specified row.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>row</code> - </dd>
+<dd><code>rowOffset</code> - </dd>
+<dd><code>rowLength</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="Get-java.nio.ByteBuffer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Get</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.149">Get</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;row)</pre>
+<div class="block">Create a Get operation for the specified row.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>row</code> - </dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->
@@ -547,7 +591,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>isCheckExistenceOnly</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.134">isCheckExistenceOnly</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.155">isCheckExistenceOnly</a>()</pre>
 </li>
 </ul>
 <a name="setCheckExistenceOnly-boolean-">
@@ -556,7 +600,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>setCheckExistenceOnly</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.138">setCheckExistenceOnly</a>(boolean&nbsp;checkExistenceOnly)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.159">setCheckExistenceOnly</a>(boolean&nbsp;checkExistenceOnly)</pre>
 </li>
 </ul>
 <a name="isClosestRowBefore--">
@@ -566,7 +610,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <li class="blockList">
 <h4>isClosestRowBefore</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.149">isClosestRowBefore</a>()</pre>
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.170">isClosestRowBefore</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0</span></div>
 <div class="block">This will always return the default value which is false as client cannot set the value to this
  property any more.</div>
@@ -579,7 +623,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>setClosestRowBefore</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.158">setClosestRowBefore</a>(boolean&nbsp;closestRowBefore)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.179">setClosestRowBefore</a>(boolean&nbsp;closestRowBefore)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0</span></div>
 <div class="block">This is not used any more and does nothing. Use reverse scan instead.</div>
 </li>
@@ -590,7 +634,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>addFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.170">addFamily</a>(byte[]&nbsp;family)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.191">addFamily</a>(byte[]&nbsp;family)</pre>
 <div class="block">Get all columns from the specified family.
  <p>
  Overrides previous calls to addColumn for this family.</div>
@@ -608,7 +652,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.184">addColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.205">addColumn</a>(byte[]&nbsp;family,
                      byte[]&nbsp;qualifier)</pre>
 <div class="block">Get the column from the specific family with the specified qualifier.
  <p>
@@ -628,7 +672,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.206">setTimeRange</a>(long&nbsp;minStamp,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.227">setTimeRange</a>(long&nbsp;minStamp,
                         long&nbsp;maxStamp)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get versions of columns only within the specified timestamp range,
@@ -652,7 +696,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.216">setTimeRange</a>(<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.237">setTimeRange</a>(<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</pre>
 <div class="block">Get versions of columns only within the specified timestamp range,</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -670,7 +714,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeStamp</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.225">setTimeStamp</a>(long&nbsp;timestamp)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.246">setTimeStamp</a>(long&nbsp;timestamp)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get versions of columns with the specified timestamp.</div>
 <dl>
@@ -689,7 +733,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumnFamilyTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.238">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.259">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
                                     long&nbsp;minStamp,
                                     long&nbsp;maxStamp)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setColumnFamilyTimeRange-byte:A-long-long-">Query</a></code></span></div>
@@ -716,7 +760,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumnFamilyTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.243">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.264">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
                                     <a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -730,7 +774,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.251">setMaxVersions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.272">setMaxVersions</a>()</pre>
 <div class="block">Get all available versions.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -744,7 +788,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.262">setMaxVersions</a>(int&nbsp;maxVersions)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.283">setMaxVersions</a>(int&nbsp;maxVersions)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get up to the specified number of versions of each column.</div>
 <dl>
@@ -763,7 +807,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setLoadColumnFamiliesOnDemand</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.270">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.291">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setLoadColumnFamiliesOnDemand-boolean-">Query</a></code></span></div>
 <div class="block">Set the value indicating whether loading CFs on demand should be allowed (cluster
  default is false). On-demand CF loading doesn't load column families until necessary, e.g.
@@ -791,7 +835,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.279">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.300">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
 <div class="block">Set the maximum number of values to return per row per Column Family</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -807,7 +851,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.290">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.311">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
 <div class="block">Set offset for the row per Column Family. This offset is only within a particular row/CF
  combination. It gets reset back to zero when we move to the next row or CF.</div>
 <dl>
@@ -824,10 +868,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.296">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.317">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setFilter-org.apache.hadoop.hbase.filter.Filter-">Query</a></code></span></div>
 <div class="block">Apply the specified server-side filter when performing the Query.
- Only <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-"><code>Filter.filterKeyValue(Cell)</code></a> is called AFTER all tests
+ Only <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-"><code>Filter.filterKeyValue(org.apache.hadoop.hbase.Cell)</code></a> is called AFTER all tests
  for ttl, column match, deletes and max versions have been run.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -845,7 +889,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setCacheBlocks</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.313">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.334">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
 <div class="block">Set whether blocks should be cached for this Get.
  <p>
  This is true by default.  When true, default settings of the table and
@@ -864,7 +908,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>getCacheBlocks</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.323">getCacheBlocks</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.344">getCacheBlocks</a>()</pre>
 <div class="block">Get whether blocks should be cached for this Get.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -879,7 +923,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>getRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.332">getRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.353">getRow</a>()</pre>
 <div class="block">Method for retrieving the get's row</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -895,7 +939,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxVersions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.340">getMaxVersions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.361">getMaxVersions</a>()</pre>
 <div class="block">Method for retrieving the get's maximum number of version</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -909,7 +953,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.349">getMaxResultsPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.370">getMaxResultsPerColumnFamily</a>()</pre>
 <div class="block">Method for retrieving the get's maximum number of values
  to return per Column Family</div>
 <dl>
@@ -924,7 +968,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.358">getRowOffsetPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.379">getRowOffsetPerColumnFamily</a>()</pre>
 <div class="block">Method for retrieving the get's offset per row per column
  family (#kvs to be skipped)</div>
 <dl>
@@ -939,7 +983,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>familySet</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.366">familySet</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.387">familySet</a>()</pre>
 <div class="block">Method for retrieving the keys in the familyMap</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -953,7 +997,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>numFamilies</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.374">numFamilies</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.395">numFamilies</a>()</pre>
 <div class="block">Method for retrieving the number of families to get from</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -967,7 +1011,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFamilies</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.382">hasFamilies</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.403">hasFamilies</a>()</pre>
 <div class="block">Method for checking if any families have been inserted into this Get</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -981,7 +1025,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.390">getFamilyMap</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.411">getFamilyMap</a>()</pre>
 <div class="block">Method for retrieving the get's familyMap</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -995,7 +1039,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>getFingerprint</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.401">getFingerprint</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.422">getFingerprint</a>()</pre>
 <div class="block">Compile the table and column family (i.e. schema) information
  into a String. Useful for parsing and aggregation by debugging,
  logging, and administration tools.</div>
@@ -1013,7 +1057,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>toMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.420">toMap</a>(int&nbsp;maxCols)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.441">toMap</a>(int&nbsp;maxCols)</pre>
 <div class="block">Compile the details beyond the scope of getFingerprint (row, columns,
  timestamps, etc.) into a Map along with the fingerprinted information.
  Useful for debugging, logging, and administration tools.</div>
@@ -1033,7 +1077,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.471">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;other)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.492">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;other)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;</code></dd>
@@ -1046,7 +1090,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.477">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.498">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://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>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1059,7 +1103,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.484">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.505">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://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>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1072,7 +1116,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setAttribute</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.497">setAttribute</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.518">setAttribute</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                         byte[]&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Attributes.html#setAttribute-java.lang.String-byte:A-">Attributes</a></code></span></div>
 <div class="block">Sets an attribute.
@@ -1095,7 +1139,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.502">setId</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.523">setId</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html#setId-java.lang.String-">OperationWithAttributes</a></code></span></div>
 <div class="block">This method allows you to set an identifier on an operation. The original
  motivation for this was to allow the identifier to be used in slow query
@@ -1116,7 +1160,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setAuthorizations</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.507">setAuthorizations</a>(org.apache.hadoop.hbase.security.visibility.Authorizations&nbsp;authorizations)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.528">setAuthorizations</a>(org.apache.hadoop.hbase.security.visibility.Authorizations&nbsp;authorizations)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setAuthorizations-org.apache.hadoop.hbase.security.visibility.Authorizations-">Query</a></code></span></div>
 <div class="block">Sets the authorizations to be used by this Query</div>
 <dl>
@@ -1131,7 +1175,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.512">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;perms)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.533">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;perms)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setACL-java.util.Map-">setACL</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></dd>
@@ -1146,7 +1190,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.517">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.538">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                   org.apache.hadoop.hbase.security.access.Permission&nbsp;perms)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -1163,7 +1207,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setConsistency</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.522">setConsistency</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.543">setConsistency</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-">Query</a></code></span></div>
 <div class="block">Sets the consistency level for this operation</div>
 <dl>
@@ -1180,7 +1224,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>setReplicaId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.527">setReplicaId</a>(int&nbsp;Id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.548">setReplicaId</a>(int&nbsp;Id)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setReplicaId-int-">Query</a></code></span></div>
 <div class="block">Specify region replica id where Query will fetch data from. Use this together with
  <a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-"><code>Query.setConsistency(Consistency)</code></a> passing <a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html#TIMELINE"><code>Consistency.TIMELINE</code></a> to read data from
@@ -1198,7 +1242,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setIsolationLevel</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.532">setIsolationLevel</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Get.html#line.553">setIsolationLevel</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setIsolationLevel-org.apache.hadoop.hbase.client.IsolationLevel-">Query</a></code></span></div>
 <div class="block">Set the isolation level for this query. If the
  isolation level is set to READ_UNCOMMITTED, then


[03/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html b/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
index 6552d0b..bf243f9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
@@ -572,7 +572,7 @@
 <span class="sourceLineNo">564</span>      final FileSystem fs, final Path snapshotDir) throws IOException {<a name="line.564"></a>
 <span class="sourceLineNo">565</span>    SnapshotDescription snapshotDesc = SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDir);<a name="line.565"></a>
 <span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    final List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; files = new ArrayList&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt;();<a name="line.567"></a>
+<span class="sourceLineNo">567</span>    final List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; files = new ArrayList&lt;&gt;();<a name="line.567"></a>
 <span class="sourceLineNo">568</span>    final TableName table = TableName.valueOf(snapshotDesc.getTable());<a name="line.568"></a>
 <span class="sourceLineNo">569</span><a name="line.569"></a>
 <span class="sourceLineNo">570</span>    // Get snapshot files<a name="line.570"></a>
@@ -599,7 +599,7 @@
 <span class="sourceLineNo">591</span>            } else {<a name="line.591"></a>
 <span class="sourceLineNo">592</span>              size = HFileLink.buildFromHFileLinkPattern(conf, path).getFileStatus(fs).getLen();<a name="line.592"></a>
 <span class="sourceLineNo">593</span>            }<a name="line.593"></a>
-<span class="sourceLineNo">594</span>            files.add(new Pair&lt;SnapshotFileInfo, Long&gt;(fileInfo, size));<a name="line.594"></a>
+<span class="sourceLineNo">594</span>            files.add(new Pair&lt;&gt;(fileInfo, size));<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>
@@ -626,504 +626,503 @@
 <span class="sourceLineNo">618</span>    });<a name="line.618"></a>
 <span class="sourceLineNo">619</span><a name="line.619"></a>
 <span class="sourceLineNo">620</span>    // create balanced groups<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    List&lt;List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt;&gt; fileGroups =<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      new LinkedList&lt;List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt;&gt;();<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    long[] sizeGroups = new long[ngroups];<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    int hi = files.size() - 1;<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    int lo = 0;<a name="line.625"></a>
-<span class="sourceLineNo">626</span><a name="line.626"></a>
-<span class="sourceLineNo">627</span>    List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; group;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    int dir = 1;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    int g = 0;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    while (hi &gt;= lo) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      if (g == fileGroups.size()) {<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        group = new LinkedList&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt;();<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        fileGroups.add(group);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      } else {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>        group = fileGroups.get(g);<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
-<span class="sourceLineNo">638</span><a name="line.638"></a>
-<span class="sourceLineNo">639</span>      Pair&lt;SnapshotFileInfo, Long&gt; fileInfo = files.get(hi--);<a name="line.639"></a>
-<span class="sourceLineNo">640</span><a name="line.640"></a>
-<span class="sourceLineNo">641</span>      // add the hi one<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      sizeGroups[g] += fileInfo.getSecond();<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      group.add(fileInfo);<a name="line.643"></a>
-<span class="sourceLineNo">644</span><a name="line.644"></a>
-<span class="sourceLineNo">645</span>      // change direction when at the end or the beginning<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      g += dir;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      if (g == ngroups) {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>        dir = -1;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        g = ngroups - 1;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      } else if (g &lt; 0) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        dir = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>        g = 0;<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><a name="line.655"></a>
-<span class="sourceLineNo">656</span>    if (LOG.isDebugEnabled()) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      for (int i = 0; i &lt; sizeGroups.length; ++i) {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        LOG.debug("export split=" + i + " size=" + StringUtils.humanReadableInt(sizeGroups[i]));<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 fileGroups;<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>  private static class ExportSnapshotInputFormat extends InputFormat&lt;BytesWritable, NullWritable&gt; {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    @Override<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    public RecordReader&lt;BytesWritable, NullWritable&gt; createRecordReader(InputSplit split,<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        TaskAttemptContext tac) throws IOException, InterruptedException {<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      return new ExportSnapshotRecordReader(((ExportSnapshotInputSplit)split).getSplitKeys());<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    }<a name="line.670"></a>
-<span class="sourceLineNo">671</span><a name="line.671"></a>
-<span class="sourceLineNo">672</span>    @Override<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException, InterruptedException {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Configuration conf = context.getConfiguration();<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      Path snapshotDir = new Path(conf.get(CONF_SNAPSHOT_DIR));<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      FileSystem fs = FileSystem.get(snapshotDir.toUri(), conf);<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span>      List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; snapshotFiles = getSnapshotFiles(conf, fs, snapshotDir);<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      int mappers = conf.getInt(CONF_NUM_SPLITS, 0);<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      if (mappers == 0 &amp;&amp; snapshotFiles.size() &gt; 0) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        mappers = 1 + (snapshotFiles.size() / conf.getInt(CONF_MAP_GROUP, 10));<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        mappers = Math.min(mappers, snapshotFiles.size());<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        conf.setInt(CONF_NUM_SPLITS, mappers);<a name="line.683"></a>
-<span class="sourceLineNo">684</span>        conf.setInt(MR_NUM_MAPS, mappers);<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
-<span class="sourceLineNo">686</span><a name="line.686"></a>
-<span class="sourceLineNo">687</span>      List&lt;List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt;&gt; groups = getBalancedSplits(snapshotFiles, mappers);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      List&lt;InputSplit&gt; splits = new ArrayList(groups.size());<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      for (List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; files: groups) {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        splits.add(new ExportSnapshotInputSplit(files));<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      }<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      return splits;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    }<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    private static class ExportSnapshotInputSplit extends InputSplit implements Writable {<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      private List&lt;Pair&lt;BytesWritable, Long&gt;&gt; files;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      private long length;<a name="line.697"></a>
-<span class="sourceLineNo">698</span><a name="line.698"></a>
-<span class="sourceLineNo">699</span>      public ExportSnapshotInputSplit() {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>        this.files = null;<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>      public ExportSnapshotInputSplit(final List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; snapshotFiles) {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        this.files = new ArrayList(snapshotFiles.size());<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        for (Pair&lt;SnapshotFileInfo, Long&gt; fileInfo: snapshotFiles) {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>          this.files.add(new Pair&lt;BytesWritable, Long&gt;(<a name="line.706"></a>
-<span class="sourceLineNo">707</span>            new BytesWritable(fileInfo.getFirst().toByteArray()), fileInfo.getSecond()));<a name="line.707"></a>
-<span class="sourceLineNo">708</span>          this.length += fileInfo.getSecond();<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        }<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      }<a name="line.710"></a>
-<span class="sourceLineNo">711</span><a name="line.711"></a>
-<span class="sourceLineNo">712</span>      private List&lt;Pair&lt;BytesWritable, Long&gt;&gt; getSplitKeys() {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        return files;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
-<span class="sourceLineNo">715</span><a name="line.715"></a>
-<span class="sourceLineNo">716</span>      @Override<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      public long getLength() throws IOException, InterruptedException {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        return length;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
-<span class="sourceLineNo">720</span><a name="line.720"></a>
-<span class="sourceLineNo">721</span>      @Override<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      public String[] getLocations() throws IOException, InterruptedException {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>        return new String[] {};<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span>      @Override<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      public void readFields(DataInput in) throws IOException {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        int count = in.readInt();<a name="line.728"></a>
-<span class="sourceLineNo">729</span>        files = new ArrayList&lt;Pair&lt;BytesWritable, Long&gt;&gt;(count);<a name="line.729"></a>
-<span class="sourceLineNo">730</span>        length = 0;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>        for (int i = 0; i &lt; count; ++i) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>          BytesWritable fileInfo = new BytesWritable();<a name="line.732"></a>
-<span class="sourceLineNo">733</span>          fileInfo.readFields(in);<a name="line.733"></a>
-<span class="sourceLineNo">734</span>          long size = in.readLong();<a name="line.734"></a>
-<span class="sourceLineNo">735</span>          files.add(new Pair&lt;BytesWritable, Long&gt;(fileInfo, size));<a name="line.735"></a>
-<span class="sourceLineNo">736</span>          length += size;<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>      @Override<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      public void write(DataOutput out) throws IOException {<a name="line.741"></a>
-<span class="sourceLineNo">742</span>        out.writeInt(files.size());<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        for (final Pair&lt;BytesWritable, Long&gt; fileInfo: files) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>          fileInfo.getFirst().write(out);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>          out.writeLong(fileInfo.getSecond());<a name="line.745"></a>
-<span class="sourceLineNo">746</span>        }<a name="line.746"></a>
-<span class="sourceLineNo">747</span>      }<a name="line.747"></a>
-<span class="sourceLineNo">748</span>    }<a name="line.748"></a>
-<span class="sourceLineNo">749</span><a name="line.749"></a>
-<span class="sourceLineNo">750</span>    private static class ExportSnapshotRecordReader<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        extends RecordReader&lt;BytesWritable, NullWritable&gt; {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>      private final List&lt;Pair&lt;BytesWritable, Long&gt;&gt; files;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      private long totalSize = 0;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>      private long procSize = 0;<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      private int index = -1;<a name="line.755"></a>
-<span class="sourceLineNo">756</span><a name="line.756"></a>
-<span class="sourceLineNo">757</span>      ExportSnapshotRecordReader(final List&lt;Pair&lt;BytesWritable, Long&gt;&gt; files) {<a name="line.757"></a>
-<span class="sourceLineNo">758</span>        this.files = files;<a name="line.758"></a>
-<span class="sourceLineNo">759</span>        for (Pair&lt;BytesWritable, Long&gt; fileInfo: files) {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>          totalSize += fileInfo.getSecond();<a name="line.760"></a>
-<span class="sourceLineNo">761</span>        }<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>      @Override<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      public void close() { }<a name="line.765"></a>
-<span class="sourceLineNo">766</span><a name="line.766"></a>
-<span class="sourceLineNo">767</span>      @Override<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      public BytesWritable getCurrentKey() { return files.get(index).getFirst(); }<a name="line.768"></a>
-<span class="sourceLineNo">769</span><a name="line.769"></a>
-<span class="sourceLineNo">770</span>      @Override<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      public NullWritable getCurrentValue() { return NullWritable.get(); }<a name="line.771"></a>
-<span class="sourceLineNo">772</span><a name="line.772"></a>
-<span class="sourceLineNo">773</span>      @Override<a name="line.773"></a>
-<span class="sourceLineNo">774</span>      public float getProgress() { return (float)procSize / totalSize; }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>      @Override<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      public void initialize(InputSplit split, TaskAttemptContext tac) { }<a name="line.777"></a>
-<span class="sourceLineNo">778</span><a name="line.778"></a>
-<span class="sourceLineNo">779</span>      @Override<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      public boolean nextKeyValue() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>        if (index &gt;= 0) {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>          procSize += files.get(index).getSecond();<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        }<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        return(++index &lt; files.size());<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      }<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    }<a name="line.786"></a>
-<span class="sourceLineNo">787</span>  }<a name="line.787"></a>
-<span class="sourceLineNo">788</span><a name="line.788"></a>
-<span class="sourceLineNo">789</span>  // ==========================================================================<a name="line.789"></a>
-<span class="sourceLineNo">790</span>  //  Tool<a name="line.790"></a>
-<span class="sourceLineNo">791</span>  // ==========================================================================<a name="line.791"></a>
-<span class="sourceLineNo">792</span><a name="line.792"></a>
-<span class="sourceLineNo">793</span>  /**<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * Run Map-Reduce Job to perform the files copy.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  private void runCopyJob(final Path inputRoot, final Path outputRoot,<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      final String snapshotName, final Path snapshotDir, final boolean verifyChecksum,<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      final String filesUser, final String filesGroup, final int filesMode,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      final int mappers, final int bandwidthMB)<a name="line.799"></a>
-<span class="sourceLineNo">800</span>          throws IOException, InterruptedException, ClassNotFoundException {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    Configuration conf = getConf();<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    if (filesGroup != null) conf.set(CONF_FILES_GROUP, filesGroup);<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (filesUser != null) conf.set(CONF_FILES_USER, filesUser);<a name="line.803"></a>
-<span class="sourceLineNo">804</span>    if (mappers &gt; 0) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      conf.setInt(CONF_NUM_SPLITS, mappers);<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      conf.setInt(MR_NUM_MAPS, mappers);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>    }<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    conf.setInt(CONF_FILES_MODE, filesMode);<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    conf.setBoolean(CONF_CHECKSUM_VERIFY, verifyChecksum);<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    conf.set(CONF_OUTPUT_ROOT, outputRoot.toString());<a name="line.810"></a>
-<span class="sourceLineNo">811</span>    conf.set(CONF_INPUT_ROOT, inputRoot.toString());<a name="line.811"></a>
-<span class="sourceLineNo">812</span>    conf.setInt(CONF_BANDWIDTH_MB, bandwidthMB);<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    conf.set(CONF_SNAPSHOT_NAME, snapshotName);<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    conf.set(CONF_SNAPSHOT_DIR, snapshotDir.toString());<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    Job job = new Job(conf);<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    job.setJobName("ExportSnapshot-" + snapshotName);<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    job.setJarByClass(ExportSnapshot.class);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    job.setMapperClass(ExportMapper.class);<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    job.setInputFormatClass(ExportSnapshotInputFormat.class);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    job.setMapSpeculativeExecution(false);<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    job.setNumReduceTasks(0);<a name="line.824"></a>
-<span class="sourceLineNo">825</span><a name="line.825"></a>
-<span class="sourceLineNo">826</span>    // Acquire the delegation Tokens<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    Configuration srcConf = HBaseConfiguration.createClusterConf(conf, null, CONF_SOURCE_PREFIX);<a name="line.827"></a>
-<span class="sourceLineNo">828</span>    TokenCache.obtainTokensForNamenodes(job.getCredentials(),<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      new Path[] { inputRoot }, srcConf);<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    Configuration destConf = HBaseConfiguration.createClusterConf(conf, null, CONF_DEST_PREFIX);<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    TokenCache.obtainTokensForNamenodes(job.getCredentials(),<a name="line.831"></a>
-<span class="sourceLineNo">832</span>        new Path[] { outputRoot }, destConf);<a name="line.832"></a>
-<span class="sourceLineNo">833</span><a name="line.833"></a>
-<span class="sourceLineNo">834</span>    // Run the MR Job<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    if (!job.waitForCompletion(true)) {<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      // TODO: Replace the fixed string with job.getStatus().getFailureInfo()<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      // when it will be available on all the supported versions.<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      throw new ExportSnapshotException("Copy Files Map-Reduce Job failed");<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><a name="line.841"></a>
-<span class="sourceLineNo">842</span>  private void verifySnapshot(final Configuration baseConf,<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      final FileSystem fs, final Path rootDir, final Path snapshotDir) throws IOException {<a name="line.843"></a>
-<span class="sourceLineNo">844</span>    // Update the conf with the current root dir, since may be a different cluster<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    Configuration conf = new Configuration(baseConf);<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    FSUtils.setRootDir(conf, rootDir);<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    FSUtils.setFsDefault(conf, FSUtils.getRootDir(conf));<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    SnapshotDescription snapshotDesc = SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDir);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    SnapshotReferenceUtil.verifySnapshot(conf, fs, snapshotDir, snapshotDesc);<a name="line.849"></a>
-<span class="sourceLineNo">850</span>  }<a name="line.850"></a>
-<span class="sourceLineNo">851</span><a name="line.851"></a>
-<span class="sourceLineNo">852</span>  /**<a name="line.852"></a>
-<span class="sourceLineNo">853</span>   * Set path ownership.<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   */<a name="line.854"></a>
-<span class="sourceLineNo">855</span>  private void setOwner(final FileSystem fs, final Path path, final String user,<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      final String group, final boolean recursive) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    if (user != null || group != null) {<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      if (recursive &amp;&amp; fs.isDirectory(path)) {<a name="line.858"></a>
-<span class="sourceLineNo">859</span>        for (FileStatus child : fs.listStatus(path)) {<a name="line.859"></a>
-<span class="sourceLineNo">860</span>          setOwner(fs, child.getPath(), user, group, recursive);<a name="line.860"></a>
-<span class="sourceLineNo">861</span>        }<a name="line.861"></a>
-<span class="sourceLineNo">862</span>      }<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      fs.setOwner(path, user, group);<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    }<a name="line.864"></a>
-<span class="sourceLineNo">865</span>  }<a name="line.865"></a>
-<span class="sourceLineNo">866</span><a name="line.866"></a>
-<span class="sourceLineNo">867</span>  /**<a name="line.867"></a>
-<span class="sourceLineNo">868</span>   * Set path permission.<a name="line.868"></a>
-<span class="sourceLineNo">869</span>   */<a name="line.869"></a>
-<span class="sourceLineNo">870</span>  private void setPermission(final FileSystem fs, final Path path, final short filesMode,<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      final boolean recursive) throws IOException {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    if (filesMode &gt; 0) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      FsPermission perm = new FsPermission(filesMode);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>      if (recursive &amp;&amp; fs.isDirectory(path)) {<a name="line.874"></a>
-<span class="sourceLineNo">875</span>        for (FileStatus child : fs.listStatus(path)) {<a name="line.875"></a>
-<span class="sourceLineNo">876</span>          setPermission(fs, child.getPath(), filesMode, recursive);<a name="line.876"></a>
-<span class="sourceLineNo">877</span>        }<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      fs.setPermission(path, perm);<a name="line.879"></a>
-<span class="sourceLineNo">880</span>    }<a name="line.880"></a>
-<span class="sourceLineNo">881</span>  }<a name="line.881"></a>
-<span class="sourceLineNo">882</span><a name="line.882"></a>
-<span class="sourceLineNo">883</span>  private boolean verifyTarget = true;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>  private boolean verifyChecksum = true;<a name="line.884"></a>
-<span class="sourceLineNo">885</span>  private String snapshotName = null;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>  private String targetName = null;<a name="line.886"></a>
-<span class="sourceLineNo">887</span>  private boolean overwrite = false;<a name="line.887"></a>
-<span class="sourceLineNo">888</span>  private String filesGroup = null;<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  private String filesUser = null;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>  private Path outputRoot = null;<a name="line.890"></a>
-<span class="sourceLineNo">891</span>  private Path inputRoot = null;<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  private int bandwidthMB = Integer.MAX_VALUE;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  private int filesMode = 0;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>  private int mappers = 0;<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>  @Override<a name="line.896"></a>
-<span class="sourceLineNo">897</span>  protected void processOptions(CommandLine cmd) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    snapshotName = cmd.getOptionValue(Options.SNAPSHOT.getLongOpt(), snapshotName);<a name="line.898"></a>
-<span class="sourceLineNo">899</span>    targetName = cmd.getOptionValue(Options.TARGET_NAME.getLongOpt(), targetName);<a name="line.899"></a>
-<span class="sourceLineNo">900</span>    if (cmd.hasOption(Options.COPY_TO.getLongOpt())) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      outputRoot = new Path(cmd.getOptionValue(Options.COPY_TO.getLongOpt()));<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span>    if (cmd.hasOption(Options.COPY_FROM.getLongOpt())) {<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      inputRoot = new Path(cmd.getOptionValue(Options.COPY_FROM.getLongOpt()));<a name="line.904"></a>
-<span class="sourceLineNo">905</span>    }<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    mappers = getOptionAsInt(cmd, Options.MAPPERS.getLongOpt(), mappers);<a name="line.906"></a>
-<span class="sourceLineNo">907</span>    filesUser = cmd.getOptionValue(Options.CHUSER.getLongOpt(), filesUser);<a name="line.907"></a>
-<span class="sourceLineNo">908</span>    filesGroup = cmd.getOptionValue(Options.CHGROUP.getLongOpt(), filesGroup);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>    filesMode = getOptionAsInt(cmd, Options.CHMOD.getLongOpt(), filesMode);<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    bandwidthMB = getOptionAsInt(cmd, Options.BANDWIDTH.getLongOpt(), bandwidthMB);<a name="line.910"></a>
-<span class="sourceLineNo">911</span>    overwrite = cmd.hasOption(Options.OVERWRITE.getLongOpt());<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    // And verifyChecksum and verifyTarget with values read from old args in processOldArgs(...).<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    verifyChecksum = !cmd.hasOption(Options.NO_CHECKSUM_VERIFY.getLongOpt());<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    verifyTarget = !cmd.hasOption(Options.NO_TARGET_VERIFY.getLongOpt());<a name="line.914"></a>
-<span class="sourceLineNo">915</span>  }<a name="line.915"></a>
-<span class="sourceLineNo">916</span><a name="line.916"></a>
-<span class="sourceLineNo">917</span>  /**<a name="line.917"></a>
-<span class="sourceLineNo">918</span>   * Execute the export snapshot by copying the snapshot metadata, hfiles and wals.<a name="line.918"></a>
-<span class="sourceLineNo">919</span>   * @return 0 on success, and != 0 upon failure.<a name="line.919"></a>
-<span class="sourceLineNo">920</span>   */<a name="line.920"></a>
-<span class="sourceLineNo">921</span>  @Override<a name="line.921"></a>
-<span class="sourceLineNo">922</span>  public int doWork() throws IOException {<a name="line.922"></a>
-<span class="sourceLineNo">923</span>    Configuration conf = getConf();<a name="line.923"></a>
-<span class="sourceLineNo">924</span><a name="line.924"></a>
-<span class="sourceLineNo">925</span>    // Check user options<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    if (snapshotName == null) {<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      System.err.println("Snapshot name not provided.");<a name="line.927"></a>
-<span class="sourceLineNo">928</span>      LOG.error("Use -h or --help for usage instructions.");<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return 0;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    if (outputRoot == null) {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      System.err.println("Destination file-system (--" + Options.COPY_TO.getLongOpt()<a name="line.933"></a>
-<span class="sourceLineNo">934</span>              + ") not provided.");<a name="line.934"></a>
-<span class="sourceLineNo">935</span>      LOG.error("Use -h or --help for usage instructions.");<a name="line.935"></a>
-<span class="sourceLineNo">936</span>      return 0;<a name="line.936"></a>
-<span class="sourceLineNo">937</span>    }<a name="line.937"></a>
-<span class="sourceLineNo">938</span><a name="line.938"></a>
-<span class="sourceLineNo">939</span>    if (targetName == null) {<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      targetName = snapshotName;<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    }<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    if (inputRoot == null) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>      inputRoot = FSUtils.getRootDir(conf);<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    } else {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      FSUtils.setRootDir(conf, inputRoot);<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    Configuration srcConf = HBaseConfiguration.createClusterConf(conf, null, CONF_SOURCE_PREFIX);<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    srcConf.setBoolean("fs." + inputRoot.toUri().getScheme() + ".impl.disable.cache", true);<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    FileSystem inputFs = FileSystem.get(inputRoot.toUri(), srcConf);<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    LOG.debug("inputFs=" + inputFs.getUri().toString() + " inputRoot=" + inputRoot);<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    Configuration destConf = HBaseConfiguration.createClusterConf(conf, null, CONF_DEST_PREFIX);<a name="line.952"></a>
-<span class="sourceLineNo">953</span>    destConf.setBoolean("fs." + outputRoot.toUri().getScheme() + ".impl.disable.cache", true);<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    FileSystem outputFs = FileSystem.get(outputRoot.toUri(), destConf);<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    LOG.debug("outputFs=" + outputFs.getUri().toString() + " outputRoot=" + outputRoot.toString());<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span>    boolean skipTmp = conf.getBoolean(CONF_SKIP_TMP, false);<a name="line.957"></a>
-<span class="sourceLineNo">958</span><a name="line.958"></a>
-<span class="sourceLineNo">959</span>    Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, inputRoot);<a name="line.959"></a>
-<span class="sourceLineNo">960</span>    Path snapshotTmpDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(targetName, outputRoot);<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    Path outputSnapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(targetName, outputRoot);<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    Path initialOutputSnapshotDir = skipTmp ? outputSnapshotDir : snapshotTmpDir;<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    // Find the necessary directory which need to change owner and group<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    Path needSetOwnerDir = SnapshotDescriptionUtils.getSnapshotRootDir(outputRoot);<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    if (outputFs.exists(needSetOwnerDir)) {<a name="line.966"></a>
-<span class="sourceLineNo">967</span>      if (skipTmp) {<a name="line.967"></a>
-<span class="sourceLineNo">968</span>        needSetOwnerDir = outputSnapshotDir;<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      } else {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>        needSetOwnerDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(outputRoot);<a name="line.970"></a>
-<span class="sourceLineNo">971</span>        if (outputFs.exists(needSetOwnerDir)) {<a name="line.971"></a>
-<span class="sourceLineNo">972</span>          needSetOwnerDir = snapshotTmpDir;<a name="line.972"></a>
-<span class="sourceLineNo">973</span>        }<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      }<a name="line.974"></a>
-<span class="sourceLineNo">975</span>    }<a name="line.975"></a>
-<span class="sourceLineNo">976</span><a name="line.976"></a>
-<span class="sourceLineNo">977</span>    // Check if the snapshot already exists<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    if (outputFs.exists(outputSnapshotDir)) {<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      if (overwrite) {<a name="line.979"></a>
-<span class="sourceLineNo">980</span>        if (!outputFs.delete(outputSnapshotDir, true)) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>          System.err.println("Unable to remove existing snapshot directory: " + outputSnapshotDir);<a name="line.981"></a>
-<span class="sourceLineNo">982</span>          return 1;<a name="line.982"></a>
-<span class="sourceLineNo">983</span>        }<a name="line.983"></a>
-<span class="sourceLineNo">984</span>      } else {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>        System.err.println("The snapshot '" + targetName +<a name="line.985"></a>
-<span class="sourceLineNo">986</span>          "' already exists in the destination: " + outputSnapshotDir);<a name="line.986"></a>
-<span class="sourceLineNo">987</span>        return 1;<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      }<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    }<a name="line.989"></a>
-<span class="sourceLineNo">990</span><a name="line.990"></a>
-<span class="sourceLineNo">991</span>    if (!skipTmp) {<a name="line.991"></a>
-<span class="sourceLineNo">992</span>      // Check if the snapshot already in-progress<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      if (outputFs.exists(snapshotTmpDir)) {<a name="line.993"></a>
-<span class="sourceLineNo">994</span>        if (overwrite) {<a name="line.994"></a>
-<span class="sourceLineNo">995</span>          if (!outputFs.delete(snapshotTmpDir, true)) {<a name="line.995"></a>
-<span class="sourceLineNo">996</span>            System.err.println("Unable to remove existing snapshot tmp directory: "+snapshotTmpDir);<a name="line.996"></a>
-<span class="sourceLineNo">997</span>            return 1;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>          }<a name="line.998"></a>
-<span class="sourceLineNo">999</span>        } else {<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>          System.err.println("A snapshot with the same name '"+ targetName +"' may be in-progress");<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>          System.err.println("Please check "+snapshotTmpDir+". If the snapshot has completed, ");<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>          System.err.println("consider removing "+snapshotTmpDir+" by using the -overwrite option");<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>          return 1;<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        }<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    // Step 1 - Copy fs1:/.snapshot/&lt;snapshot&gt; to  fs2:/.snapshot/.tmp/&lt;snapshot&gt;<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>    // The snapshot references must be copied before the hfiles otherwise the cleaner<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    // will remove them because they are unreferenced.<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>    try {<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>      LOG.info("Copy Snapshot Manifest");<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      FileUtil.copy(inputFs, snapshotDir, outputFs, initialOutputSnapshotDir, false, false, conf);<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    } catch (IOException e) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>      throw new ExportSnapshotException("Failed to copy the snapshot directory: from=" +<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>        snapshotDir + " to=" + initialOutputSnapshotDir, e);<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>    } finally {<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>      if (filesUser != null || filesGroup != null) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>        LOG.warn((filesUser == null ? "" : "Change the owner of " + needSetOwnerDir + " to "<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>            + filesUser)<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>            + (filesGroup == null ? "" : ", Change the group of " + needSetOwnerDir + " to "<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>            + filesGroup));<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>        setOwner(outputFs, needSetOwnerDir, filesUser, filesGroup, true);<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>      }<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      if (filesMode &gt; 0) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>        LOG.warn("Change the permission of " + needSetOwnerDir + " to " + filesMode);<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>        setPermission(outputFs, needSetOwnerDir, (short)filesMode, true);<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>      }<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>    }<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span><a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>    // Write a new .snapshotinfo if the target name is different from the source name<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    if (!targetName.equals(snapshotName)) {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      SnapshotDescription snapshotDesc =<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>        SnapshotDescriptionUtils.readSnapshotInfo(inputFs, snapshotDir)<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>          .toBuilder()<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>          .setName(targetName)<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>          .build();<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>      SnapshotDescriptionUtils.writeSnapshotInfo(snapshotDesc, initialOutputSnapshotDir, outputFs);<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>      if (filesUser != null || filesGroup != null) {<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>        outputFs.setOwner(new Path(initialOutputSnapshotDir,<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>          SnapshotDescriptionUtils.SNAPSHOTINFO_FILE), filesUser, filesGroup);<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>      }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>      if (filesMode &gt; 0) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>        outputFs.setPermission(new Path(initialOutputSnapshotDir,<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>          SnapshotDescriptionUtils.SNAPSHOTINFO_FILE), new FsPermission((short)filesMode));<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>      }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span><a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    // Step 2 - Start MR Job to copy files<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    // The snapshot references must be copied before the files otherwise the files gets removed<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    // by the HFileArchiver, since they have no references.<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>    try {<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>      runCopyJob(inputRoot, outputRoot, snapshotName, snapshotDir, verifyChecksum,<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>                 filesUser, filesGroup, filesMode, mappers, bandwidthMB);<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>      LOG.info("Finalize the Snapshot Export");<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>      if (!skipTmp) {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>        // Step 3 - Rename fs2:/.snapshot/.tmp/&lt;snapshot&gt; fs2:/.snapshot/&lt;snapshot&gt;<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>        if (!outputFs.rename(snapshotTmpDir, outputSnapshotDir)) {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>          throw new ExportSnapshotException("Unable to rename snapshot directory from=" +<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>            snapshotTmpDir + " to=" + outputSnapshotDir);<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>        }<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      }<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span><a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>      // Step 4 - Verify snapshot integrity<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      if (verifyTarget) {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>        LOG.info("Verify snapshot integrity");<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>        verifySnapshot(destConf, outputFs, outputRoot, outputSnapshotDir);<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      }<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>      LOG.info("Export Completed: " + targetName);<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>      return 0;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    } catch (Exception e) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>      LOG.error("Snapshot export failed", e);<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      if (!skipTmp) {<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>        outputFs.delete(snapshotTmpDir, true);<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>      }<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>      outputFs.delete(outputSnapshotDir, true);<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      return 1;<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    } finally {<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>      IOUtils.closeStream(inputFs);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>      IOUtils.closeStream(outputFs);<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>    }<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>  }<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span><a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>  @Override<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>  protected void printUsage() {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    super.printUsage();<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    System.out.println("\n"<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>        + "Examples:\n"<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>        + "  hbase snapshot export \\\n"<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>        + "    --snapshot MySnapshot --copy-to hdfs://srv2:8082/hbase \\\n"<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>        + "    --chuser MyUser --chgroup MyGroup --chmod 700 --mappers 16\n"<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>        + "\n"<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>        + "  hbase snapshot export \\\n"<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>        + "    --snapshot MySnapshot --copy-from hdfs://srv2:8082/hbase \\\n"<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>        + "    --copy-to hdfs://srv1:50070/hbase");<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>  }<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span><a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>  @Override protected void addOptions() {<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>    addRequiredOption(Options.SNAPSHOT);<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    addOption(Options.COPY_TO);<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>    addOption(Options.COPY_FROM);<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    addOption(Options.TARGET_NAME);<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>    addOption(Options.NO_CHECKSUM_VERIFY);<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>    addOption(Options.NO_TARGET_VERIFY);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    addOption(Options.OVERWRITE);<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>    addOption(Options.CHUSER);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>    addOption(Options.CHGROUP);<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>    addOption(Options.CHMOD);<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>    addOption(Options.MAPPERS);<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    addOption(Options.BANDWIDTH);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>  }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span><a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  public static void main(String[] args) {<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>    new ExportSnapshot().doStaticMain(args);<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>  }<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>}<a name="line.1118"></a>
+<span class="sourceLineNo">621</span>    List&lt;List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt;&gt; fileGroups = new LinkedList&lt;&gt;();<a name="line.621"></a>
+<span class="sourceLineNo">622</span>    long[] sizeGroups = new long[ngroups];<a name="line.622"></a>
+<span class="sourceLineNo">623</span>    int hi = files.size() - 1;<a name="line.623"></a>
+<span class="sourceLineNo">624</span>    int lo = 0;<a name="line.624"></a>
+<span class="sourceLineNo">625</span><a name="line.625"></a>
+<span class="sourceLineNo">626</span>    List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; group;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    int dir = 1;<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    int g = 0;<a name="line.628"></a>
+<span class="sourceLineNo">629</span><a name="line.629"></a>
+<span class="sourceLineNo">630</span>    while (hi &gt;= lo) {<a name="line.630"></a>
+<span class="sourceLineNo">631</span>      if (g == fileGroups.size()) {<a name="line.631"></a>
+<span class="sourceLineNo">632</span>        group = new LinkedList&lt;&gt;();<a name="line.632"></a>
+<span class="sourceLineNo">633</span>        fileGroups.add(group);<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      } else {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>        group = fileGroups.get(g);<a name="line.635"></a>
+<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
+<span class="sourceLineNo">637</span><a name="line.637"></a>
+<span class="sourceLineNo">638</span>      Pair&lt;SnapshotFileInfo, Long&gt; fileInfo = files.get(hi--);<a name="line.638"></a>
+<span class="sourceLineNo">639</span><a name="line.639"></a>
+<span class="sourceLineNo">640</span>      // add the hi one<a name="line.640"></a>
+<span class="sourceLineNo">641</span>      sizeGroups[g] += fileInfo.getSecond();<a name="line.641"></a>
+<span class="sourceLineNo">642</span>      group.add(fileInfo);<a name="line.642"></a>
+<span class="sourceLineNo">643</span><a name="line.643"></a>
+<span class="sourceLineNo">644</span>      // change direction when at the end or the beginning<a name="line.644"></a>
+<span class="sourceLineNo">645</span>      g += dir;<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      if (g == ngroups) {<a name="line.646"></a>
+<span class="sourceLineNo">647</span>        dir = -1;<a name="line.647"></a>
+<span class="sourceLineNo">648</span>        g = ngroups - 1;<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      } else if (g &lt; 0) {<a name="line.649"></a>
+<span class="sourceLineNo">650</span>        dir = 1;<a name="line.650"></a>
+<span class="sourceLineNo">651</span>        g = 0;<a name="line.651"></a>
+<span class="sourceLineNo">652</span>      }<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>    if (LOG.isDebugEnabled()) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span>      for (int i = 0; i &lt; sizeGroups.length; ++i) {<a name="line.656"></a>
+<span class="sourceLineNo">657</span>        LOG.debug("export split=" + i + " size=" + StringUtils.humanReadableInt(sizeGroups[i]));<a name="line.657"></a>
+<span class="sourceLineNo">658</span>      }<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
+<span class="sourceLineNo">660</span><a name="line.660"></a>
+<span class="sourceLineNo">661</span>    return fileGroups;<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>  private static class ExportSnapshotInputFormat extends InputFormat&lt;BytesWritable, NullWritable&gt; {<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    @Override<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    public RecordReader&lt;BytesWritable, NullWritable&gt; createRecordReader(InputSplit split,<a name="line.666"></a>
+<span class="sourceLineNo">667</span>        TaskAttemptContext tac) throws IOException, InterruptedException {<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      return new ExportSnapshotRecordReader(((ExportSnapshotInputSplit)split).getSplitKeys());<a name="line.668"></a>
+<span class="sourceLineNo">669</span>    }<a name="line.669"></a>
+<span class="sourceLineNo">670</span><a name="line.670"></a>
+<span class="sourceLineNo">671</span>    @Override<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException, InterruptedException {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      Configuration conf = context.getConfiguration();<a name="line.673"></a>
+<span class="sourceLineNo">674</span>      Path snapshotDir = new Path(conf.get(CONF_SNAPSHOT_DIR));<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      FileSystem fs = FileSystem.get(snapshotDir.toUri(), conf);<a name="line.675"></a>
+<span class="sourceLineNo">676</span><a name="line.676"></a>
+<span class="sourceLineNo">677</span>      List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; snapshotFiles = getSnapshotFiles(conf, fs, snapshotDir);<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      int mappers = conf.getInt(CONF_NUM_SPLITS, 0);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>      if (mappers == 0 &amp;&amp; snapshotFiles.size() &gt; 0) {<a name="line.679"></a>
+<span class="sourceLineNo">680</span>        mappers = 1 + (snapshotFiles.size() / conf.getInt(CONF_MAP_GROUP, 10));<a name="line.680"></a>
+<span class="sourceLineNo">681</span>        mappers = Math.min(mappers, snapshotFiles.size());<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        conf.setInt(CONF_NUM_SPLITS, mappers);<a name="line.682"></a>
+<span class="sourceLineNo">683</span>        conf.setInt(MR_NUM_MAPS, mappers);<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
+<span class="sourceLineNo">685</span><a name="line.685"></a>
+<span class="sourceLineNo">686</span>      List&lt;List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt;&gt; groups = getBalancedSplits(snapshotFiles, mappers);<a name="line.686"></a>
+<span class="sourceLineNo">687</span>      List&lt;InputSplit&gt; splits = new ArrayList(groups.size());<a name="line.687"></a>
+<span class="sourceLineNo">688</span>      for (List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; files: groups) {<a name="line.688"></a>
+<span class="sourceLineNo">689</span>        splits.add(new ExportSnapshotInputSplit(files));<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      }<a name="line.690"></a>
+<span class="sourceLineNo">691</span>      return splits;<a name="line.691"></a>
+<span class="sourceLineNo">692</span>    }<a name="line.692"></a>
+<span class="sourceLineNo">693</span><a name="line.693"></a>
+<span class="sourceLineNo">694</span>    private static class ExportSnapshotInputSplit extends InputSplit implements Writable {<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      private List&lt;Pair&lt;BytesWritable, Long&gt;&gt; files;<a name="line.695"></a>
+<span class="sourceLineNo">696</span>      private long length;<a name="line.696"></a>
+<span class="sourceLineNo">697</span><a name="line.697"></a>
+<span class="sourceLineNo">698</span>      public ExportSnapshotInputSplit() {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>        this.files = null;<a name="line.699"></a>
+<span class="sourceLineNo">700</span>      }<a name="line.700"></a>
+<span class="sourceLineNo">701</span><a name="line.701"></a>
+<span class="sourceLineNo">702</span>      public ExportSnapshotInputSplit(final List&lt;Pair&lt;SnapshotFileInfo, Long&gt;&gt; snapshotFiles) {<a name="line.702"></a>
+<span class="sourceLineNo">703</span>        this.files = new ArrayList(snapshotFiles.size());<a name="line.703"></a>
+<span class="sourceLineNo">704</span>        for (Pair&lt;SnapshotFileInfo, Long&gt; fileInfo: snapshotFiles) {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>          this.files.add(new Pair&lt;&gt;(<a name="line.705"></a>
+<span class="sourceLineNo">706</span>            new BytesWritable(fileInfo.getFirst().toByteArray()), fileInfo.getSecond()));<a name="line.706"></a>
+<span class="sourceLineNo">707</span>          this.length += fileInfo.getSecond();<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><a name="line.710"></a>
+<span class="sourceLineNo">711</span>      private List&lt;Pair&lt;BytesWritable, Long&gt;&gt; getSplitKeys() {<a name="line.711"></a>
+<span class="sourceLineNo">712</span>        return files;<a name="line.712"></a>
+<span class="sourceLineNo">713</span>      }<a name="line.713"></a>
+<span class="sourceLineNo">714</span><a name="line.714"></a>
+<span class="sourceLineNo">715</span>      @Override<a name="line.715"></a>
+<span class="sourceLineNo">716</span>      public long getLength() throws IOException, InterruptedException {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>        return length;<a name="line.717"></a>
+<span class="sourceLineNo">718</span>      }<a name="line.718"></a>
+<span class="sourceLineNo">719</span><a name="line.719"></a>
+<span class="sourceLineNo">720</span>      @Override<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      public String[] getLocations() throws IOException, InterruptedException {<a name="line.721"></a>
+<span class="sourceLineNo">722</span>        return new String[] {};<a name="line.722"></a>
+<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
+<span class="sourceLineNo">724</span><a name="line.724"></a>
+<span class="sourceLineNo">725</span>      @Override<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      public void readFields(DataInput in) throws IOException {<a name="line.726"></a>
+<span class="sourceLineNo">727</span>        int count = in.readInt();<a name="line.727"></a>
+<span class="sourceLineNo">728</span>        files = new ArrayList&lt;&gt;(count);<a name="line.728"></a>
+<span class="sourceLineNo">729</span>        length = 0;<a name="line.729"></a>
+<span class="sourceLineNo">730</span>        for (int i = 0; i &lt; count; ++i) {<a name="line.730"></a>
+<span class="sourceLineNo">731</span>          BytesWritable fileInfo = new BytesWritable();<a name="line.731"></a>
+<span class="sourceLineNo">732</span>          fileInfo.readFields(in);<a name="line.732"></a>
+<span class="sourceLineNo">733</span>          long size = in.readLong();<a name="line.733"></a>
+<span class="sourceLineNo">734</span>          files.add(new Pair&lt;&gt;(fileInfo, size));<a name="line.734"></a>
+<span class="sourceLineNo">735</span>          length += size;<a name="line.735"></a>
+<span class="sourceLineNo">736</span>        }<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>      @Override<a name="line.739"></a>
+<span class="sourceLineNo">740</span>      public void write(DataOutput out) throws IOException {<a name="line.740"></a>
+<span class="sourceLineNo">741</span>        out.writeInt(files.size());<a name="line.741"></a>
+<span class="sourceLineNo">742</span>        for (final Pair&lt;BytesWritable, Long&gt; fileInfo: files) {<a name="line.742"></a>
+<span class="sourceLineNo">743</span>          fileInfo.getFirst().write(out);<a name="line.743"></a>
+<span class="sourceLineNo">744</span>          out.writeLong(fileInfo.getSecond());<a name="line.744"></a>
+<span class="sourceLineNo">745</span>        }<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      }<a name="line.746"></a>
+<span class="sourceLineNo">747</span>    }<a name="line.747"></a>
+<span class="sourceLineNo">748</span><a name="line.748"></a>
+<span class="sourceLineNo">749</span>    private static class ExportSnapshotRecordReader<a name="line.749"></a>
+<span class="sourceLineNo">750</span>        extends RecordReader&lt;BytesWritable, NullWritable&gt; {<a name="line.750"></a>
+<span class="sourceLineNo">751</span>      private final List&lt;Pair&lt;BytesWritable, Long&gt;&gt; files;<a name="line.751"></a>
+<span class="sourceLineNo">752</span>      private long totalSize = 0;<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      private long procSize = 0;<a name="line.753"></a>
+<span class="sourceLineNo">754</span>      private int index = -1;<a name="line.754"></a>
+<span class="sourceLineNo">755</span><a name="line.755"></a>
+<span class="sourceLineNo">756</span>      ExportSnapshotRecordReader(final List&lt;Pair&lt;BytesWritable, Long&gt;&gt; files) {<a name="line.756"></a>
+<span class="sourceLineNo">757</span>        this.files = files;<a name="line.757"></a>
+<span class="sourceLineNo">758</span>        for (Pair&lt;BytesWritable, Long&gt; fileInfo: files) {<a name="line.758"></a>
+<span class="sourceLineNo">759</span>          totalSize += fileInfo.getSecond();<a name="line.759"></a>
+<span class="sourceLineNo">760</span>        }<a name="line.760"></a>
+<span class="sourceLineNo">761</span>      }<a name="line.761"></a>
+<span class="sourceLineNo">762</span><a name="line.762"></a>
+<span class="sourceLineNo">763</span>      @Override<a name="line.763"></a>
+<span class="sourceLineNo">764</span>      public void close() { }<a name="line.764"></a>
+<span class="sourceLineNo">765</span><a name="line.765"></a>
+<span class="sourceLineNo">766</span>      @Override<a name="line.766"></a>
+<span class="sourceLineNo">767</span>      public BytesWritable getCurrentKey() { return files.get(index).getFirst(); }<a name="line.767"></a>
+<span class="sourceLineNo">768</span><a name="line.768"></a>
+<span class="sourceLineNo">769</span>      @Override<a name="line.769"></a>
+<span class="sourceLineNo">770</span>      public NullWritable getCurrentValue() { return NullWritable.get(); }<a name="line.770"></a>
+<span class="sourceLineNo">771</span><a name="line.771"></a>
+<span class="sourceLineNo">772</span>      @Override<a name="line.772"></a>
+<span class="sourceLineNo">773</span>      public float getProgress() { return (float)procSize / totalSize; }<a name="line.773"></a>
+<span class="sourceLineNo">774</span><a name="line.774"></a>
+<span class="sourceLineNo">775</span>      @Override<a name="line.775"></a>
+<span class="sourceLineNo">776</span>      public void initialize(InputSplit split, TaskAttemptContext tac) { }<a name="line.776"></a>
+<span class="sourceLineNo">777</span><a name="line.777"></a>
+<span class="sourceLineNo">778</span>      @Override<a name="line.778"></a>
+<span class="sourceLineNo">779</span>      public boolean nextKeyValue() {<a name="line.779"></a>
+<span class="sourceLineNo">780</span>        if (index &gt;= 0) {<a name="line.780"></a>
+<span class="sourceLineNo">781</span>          procSize += files.get(index).getSecond();<a name="line.781"></a>
+<span class="sourceLineNo">782</span>        }<a name="line.782"></a>
+<span class="sourceLineNo">783</span>        return(++index &lt; files.size());<a name="line.783"></a>
+<span class="sourceLineNo">784</span>      }<a name="line.784"></a>
+<span class="sourceLineNo">785</span>    }<a name="line.785"></a>
+<span class="sourceLineNo">786</span>  }<a name="line.786"></a>
+<span class="sourceLineNo">787</span><a name="line.787"></a>
+<span class="sourceLineNo">788</span>  // ==========================================================================<a name="line.788"></a>
+<span class="sourceLineNo">789</span>  //  Tool<a name="line.789"></a>
+<span class="sourceLineNo">790</span>  // ==========================================================================<a name="line.790"></a>
+<span class="sourceLineNo">791</span><a name="line.791"></a>
+<span class="sourceLineNo">792</span>  /**<a name="line.792"></a>
+<span class="sourceLineNo">793</span>   * Run Map-Reduce Job to perform the files copy.<a name="line.793"></a>
+<span class="sourceLineNo">794</span>   */<a name="line.794"></a>
+<span class="sourceLineNo">795</span>  private void runCopyJob(final Path inputRoot, final Path outputRoot,<a name="line.795"></a>
+<span class="sourceLineNo">796</span>      final String snapshotName, final Path snapshotDir, final boolean verifyChecksum,<a name="line.796"></a>
+<span class="sourceLineNo">797</span>      final String filesUser, final String filesGroup, final int filesMode,<a name="line.797"></a>
+<span class="sourceLineNo">798</span>      final int mappers, final int bandwidthMB)<a name="line.798"></a>
+<span class="sourceLineNo">799</span>          throws IOException, InterruptedException, ClassNotFoundException {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    Configuration conf = getConf();<a name="line.800"></a>
+<span class="sourceLineNo">801</span>    if (filesGroup != null) conf.set(CONF_FILES_GROUP, filesGroup);<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    if (filesUser != null) conf.set(CONF_FILES_USER, filesUser);<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    if (mappers &gt; 0) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>      conf.setInt(CONF_NUM_SPLITS, mappers);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>      conf.setInt(MR_NUM_MAPS, mappers);<a name="line.805"></a>
+<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
+<span class="sourceLineNo">807</span>    conf.setInt(CONF_FILES_MODE, filesMode);<a name="line.807"></a>
+<span class="sourceLineNo">808</span>    conf.setBoolean(CONF_CHECKSUM_VERIFY, verifyChecksum);<a name="line.808"></a>
+<span class="sourceLineNo">809</span>    conf.set(CONF_OUTPUT_ROOT, outputRoot.toString());<a name="line.809"></a>
+<span class="sourceLineNo">810</span>    conf.set(CONF_INPUT_ROOT, inputRoot.toString());<a name="line.810"></a>
+<span class="sourceLineNo">811</span>    conf.setInt(CONF_BANDWIDTH_MB, bandwidthMB);<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    conf.set(CONF_SNAPSHOT_NAME, snapshotName);<a name="line.812"></a>
+<span class="sourceLineNo">813</span>    conf.set(CONF_SNAPSHOT_DIR, snapshotDir.toString());<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>    Job job = new Job(conf);<a name="line.815"></a>
+<span class="sourceLineNo">816</span>    job.setJobName("ExportSnapshot-" + snapshotName);<a name="line.816"></a>
+<span class="sourceLineNo">817</span>    job.setJarByClass(ExportSnapshot.class);<a name="line.817"></a>
+<span class="sourceLineNo">818</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.818"></a>
+<span class="sourceLineNo">819</span>    job.setMapperClass(ExportMapper.class);<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    job.setInputFormatClass(ExportSnapshotInputFormat.class);<a name="line.820"></a>
+<span class="sourceLineNo">821</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.821"></a>
+<span class="sourceLineNo">822</span>    job.setMapSpeculativeExecution(false);<a name="line.822"></a>
+<span class="sourceLineNo">823</span>    job.setNumReduceTasks(0);<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>    // Acquire the delegation Tokens<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    Configuration srcConf = HBaseConfiguration.createClusterConf(conf, null, CONF_SOURCE_PREFIX);<a name="line.826"></a>
+<span class="sourceLineNo">827</span>    TokenCache.obtainTokensForNamenodes(job.getCredentials(),<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      new Path[] { inputRoot }, srcConf);<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    Configuration destConf = HBaseConfiguration.createClusterConf(conf, null, CONF_DEST_PREFIX);<a name="line.829"></a>
+<span class="sourceLineNo">830</span>    TokenCache.obtainTokensForNamenodes(job.getCredentials(),<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        new Path[] { outputRoot }, destConf);<a name="line.831"></a>
+<span class="sourceLineNo">832</span><a name="line.832"></a>
+<span class="sourceLineNo">833</span>    // Run the MR Job<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    if (!job.waitForCompletion(true)) {<a name="line.834"></a>
+<span class="sourceLineNo">835</span>      // TODO: Replace the fixed string with job.getStatus().getFailureInfo()<a name="line.835"></a>
+<span class="sourceLineNo">836</span>      // when it will be available on all the supported versions.<a name="line.836"></a>
+<span class="sourceLineNo">837</span>      throw new ExportSnapshotException("Copy Files Map-Reduce Job failed");<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>  private void verifySnapshot(final Configuration baseConf,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      final FileSystem fs, final Path rootDir, final Path snapshotDir) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    // Update the conf with the current root dir, since may be a different cluster<a name="line.843"></a>
+<span class="sourceLineNo">844</span>    Configuration conf = new Configuration(baseConf);<a name="line.844"></a>
+<span class="sourceLineNo">845</span>    FSUtils.setRootDir(conf, rootDir);<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    FSUtils.setFsDefault(conf, FSUtils.getRootDir(conf));<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    SnapshotDescription snapshotDesc = SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDir);<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    SnapshotReferenceUtil.verifySnapshot(conf, fs, snapshotDir, snapshotDesc);<a name="line.848"></a>
+<span class="sourceLineNo">849</span>  }<a name="line.849"></a>
+<span class="sourceLineNo">850</span><a name="line.850"></a>
+<span class="sourceLineNo">851</span>  /**<a name="line.851"></a>
+<span class="sourceLineNo">852</span>   * Set path ownership.<a name="line.852"></a>
+<span class="sourceLineNo">853</span>   */<a name="line.853"></a>
+<span class="sourceLineNo">854</span>  private void setOwner(final FileSystem fs, final Path path, final String user,<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      final String group, final boolean recursive) throws IOException {<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    if (user != null || group != null) {<a name="line.856"></a>
+<span class="sourceLineNo">857</span>      if (recursive &amp;&amp; fs.isDirectory(path)) {<a name="line.857"></a>
+<span class="sourceLineNo">858</span>        for (FileStatus child : fs.listStatus(path)) {<a name="line.858"></a>
+<span class="sourceLineNo">859</span>          setOwner(fs, child.getPath(), user, group, recursive);<a name="line.859"></a>
+<span class="sourceLineNo">860</span>        }<a name="line.860"></a>
+<span class="sourceLineNo">861</span>      }<a name="line.861"></a>
+<span class="sourceLineNo">862</span>      fs.setOwner(path, user, group);<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    }<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  /**<a name="line.866"></a>
+<span class="sourceLineNo">867</span>   * Set path permission.<a name="line.867"></a>
+<span class="sourceLineNo">868</span>   */<a name="line.868"></a>
+<span class="sourceLineNo">869</span>  private void setPermission(final FileSystem fs, final Path path, final short filesMode,<a name="line.869"></a>
+<span class="sourceLineNo">870</span>      final boolean recursive) throws IOException {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>    if (filesMode &gt; 0) {<a name="line.871"></a>
+<span class="sourceLineNo">872</span>      FsPermission perm = new FsPermission(filesMode);<a name="line.872"></a>
+<span class="sourceLineNo">873</span>      if (recursive &amp;&amp; fs.isDirectory(path)) {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>        for (FileStatus child : fs.listStatus(path)) {<a name="line.874"></a>
+<span class="sourceLineNo">875</span>          setPermission(fs, child.getPath(), filesMode, recursive);<a name="line.875"></a>
+<span class="sourceLineNo">876</span>        }<a name="line.876"></a>
+<span class="sourceLineNo">877</span>      }<a name="line.877"></a>
+<span class="sourceLineNo">878</span>      fs.setPermission(path, perm);<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><a name="line.881"></a>
+<span class="sourceLineNo">882</span>  private boolean verifyTarget = true;<a name="line.882"></a>
+<span class="sourceLineNo">883</span>  private boolean verifyChecksum = true;<a name="line.883"></a>
+<span class="sourceLineNo">884</span>  private String snapshotName = null;<a name="line.884"></a>
+<span class="sourceLineNo">885</span>  private String targetName = null;<a name="line.885"></a>
+<span class="sourceLineNo">886</span>  private boolean overwrite = false;<a name="line.886"></a>
+<span class="sourceLineNo">887</span>  private String filesGroup = null;<a name="line.887"></a>
+<span class="sourceLineNo">888</span>  private String filesUser = null;<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  private Path outputRoot = null;<a name="line.889"></a>
+<span class="sourceLineNo">890</span>  private Path inputRoot = null;<a name="line.890"></a>
+<span class="sourceLineNo">891</span>  private int bandwidthMB = Integer.MAX_VALUE;<a name="line.891"></a>
+<span class="sourceLineNo">892</span>  private int filesMode = 0;<a name="line.892"></a>
+<span class="sourceLineNo">893</span>  private int mappers = 0;<a name="line.893"></a>
+<span class="sourceLineNo">894</span><a name="line.894"></a>
+<span class="sourceLineNo">895</span>  @Override<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  protected void processOptions(CommandLine cmd) {<a name="line.896"></a>
+<span class="sourceLineNo">897</span>    snapshotName = cmd.getOptionValue(Options.SNAPSHOT.getLongOpt(), snapshotName);<a name="line.897"></a>
+<span class="sourceLineNo">898</span>    targetName = cmd.getOptionValue(Options.TARGET_NAME.getLongOpt(), targetName);<a name="line.898"></a>
+<span class="sourceLineNo">899</span>    if (cmd.hasOption(Options.COPY_TO.getLongOpt())) {<a name="line.899"></a>
+<span class="sourceLineNo">900</span>      outputRoot = new Path(cmd.getOptionValue(Options.COPY_TO.getLongOpt()));<a name="line.900"></a>
+<span class="sourceLineNo">901</span>    }<a name="line.901"></a>
+<span class="sourceLineNo">902</span>    if (cmd.hasOption(Options.COPY_FROM.getLongOpt())) {<a name="line.902"></a>
+<span class="sourceLineNo">903</span>      inputRoot = new Path(cmd.getOptionValue(Options.COPY_FROM.getLongOpt()));<a name="line.903"></a>
+<span class="sourceLineNo">904</span>    }<a name="line.904"></a>
+<span class="sourceLineNo">905</span>    mappers = getOptionAsInt(cmd, Options.MAPPERS.getLongOpt(), mappers);<a name="line.905"></a>
+<span class="sourceLineNo">906</span>    filesUser = cmd.getOptionValue(Options.CHUSER.getLongOpt(), filesUser);<a name="line.906"></a>
+<span class="sourceLineNo">907</span>    filesGroup = cmd.getOptionValue(Options.CHGROUP.getLongOpt(), filesGroup);<a name="line.907"></a>
+<span class="sourceLineNo">908</span>    filesMode = getOptionAsInt(cmd, Options.CHMOD.getLongOpt(), filesMode);<a name="line.908"></a>
+<span class="sourceLineNo">909</span>    bandwidthMB = getOptionAsInt(cmd, Options.BANDWIDTH.getLongOpt(), bandwidthMB);<a name="line.909"></a>
+<span class="sourceLineNo">910</span>    overwrite = cmd.hasOption(Options.OVERWRITE.getLongOpt());<a name="line.910"></a>
+<span class="sourceLineNo">911</span>    // And verifyChecksum and verifyTarget with values read from old args in processOldArgs(...).<a name="line.911"></a>
+<span class="sourceLineNo">912</span>    verifyChecksum = !cmd.hasOption(Options.NO_CHECKSUM_VERIFY.getLongOpt());<a name="line.912"></a>
+<span class="sourceLineNo">913</span>    verifyTarget = !cmd.hasOption(Options.NO_TARGET_VERIFY.getLongOpt());<a name="line.913"></a>
+<span class="sourceLineNo">914</span>  }<a name="line.914"></a>
+<span class="sourceLineNo">915</span><a name="line.915"></a>
+<span class="sourceLineNo">916</span>  /**<a name="line.916"></a>
+<span class="sourceLineNo">917</span>   * Execute the export snapshot by copying the snapshot metadata, hfiles and wals.<a name="line.917"></a>
+<span class="sourceLineNo">918</span>   * @return 0 on success, and != 0 upon failure.<a name="line.918"></a>
+<span class="sourceLineNo">919</span>   */<a name="line.919"></a>
+<span class="sourceLineNo">920</span>  @Override<a name="line.920"></a>
+<span class="sourceLineNo">921</span>  public int doWork() throws IOException {<a name="line.921"></a>
+<span class="sourceLineNo">922</span>    Configuration conf = getConf();<a name="line.922"></a>
+<span class="sourceLineNo">923</span><a name="line.923"></a>
+<span class="sourceLineNo">924</span>    // Check user options<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    if (snapshotName == null) {<a name="line.925"></a>
+<span class="sourceLineNo">926</span>      System.err.println("Snapshot name not provided.");<a name="line.926"></a>
+<span class="sourceLineNo">927</span>      LOG.error("Use -h or --help for usage instructions.");<a name="line.927"></a>
+<span class="sourceLineNo">928</span>      return 0;<a name="line.928"></a>
+<span class="sourceLineNo">929</span>    }<a name="line.929"></a>
+<span class="sourceLineNo">930</span><a name="line.930"></a>
+<span class="sourceLineNo">931</span>    if (outputRoot == null) {<a name="line.931"></a>
+<span class="sourceLineNo">932</span>      System.err.println("Destination file-system (--" + Options.COPY_TO.getLongOpt()<a name="line.932"></a>
+<span class="sourceLineNo">933</span>              + ") not provided.");<a name="line.933"></a>
+<span class="sourceLineNo">934</span>      LOG.error("Use -h or --help for usage instructions.");<a name="line.934"></a>
+<span class="sourceLineNo">935</span>      return 0;<a name="line.935"></a>
+<span class="sourceLineNo">936</span>    }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span>    if (targetName == null) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span>      targetName = snapshotName;<a name="line.939"></a>
+<span class="sourceLineNo">940</span>    }<a name="line.940"></a>
+<span class="sourceLineNo">941</span>    if (inputRoot == null) {<a name="line.941"></a>
+<span class="sourceLineNo">942</span>      inputRoot = FSUtils.getRootDir(conf);<a name="line.942"></a>
+<span class="sourceLineNo">943</span>    } else {<a name="line.943"></a>
+<span class="sourceLineNo">944</span>      FSUtils.setRootDir(conf, inputRoot);<a name="line.944"></a>
+<span class="sourceLineNo">945</span>    }<a name="line.945"></a>
+<span class="sourceLineNo">946</span><a name="line.946"></a>
+<span class="sourceLineNo">947</span>    Configuration srcConf = HBaseConfiguration.createClusterConf(conf, null, CONF_SOURCE_PREFIX);<a name="line.947"></a>
+<span class="sourceLineNo">948</span>    srcConf.setBoolean("fs." + inputRoot.toUri().getScheme() + ".impl.disable.cache", true);<a name="line.948"></a>
+<span class="sourceLineNo">949</span>    FileSystem inputFs = FileSystem.get(inputRoot.toUri(), srcConf);<a name="line.949"></a>
+<span class="sourceLineNo">950</span>    LOG.debug("inputFs=" + inputFs.getUri().toString() + " inputRoot=" + inputRoot);<a name="line.950"></a>
+<span class="sourceLineNo">951</span>    Configuration destConf = HBaseConfiguration.createClusterConf(conf, null, CONF_DEST_PREFIX);<a name="line.951"></a>
+<span class="sourceLineNo">952</span>    destConf.setBoolean("fs." + outputRoot.toUri().getScheme() + ".impl.disable.cache", true);<a name="line.952"></a>
+<span class="sourceLineNo">953</span>    FileSystem outputFs = FileSystem.get(outputRoot.toUri(), destConf);<a name="line.953"></a>
+<span class="sourceLineNo">954</span>    LOG.debug("outputFs=" + outputFs.getUri().toString() + " outputRoot=" + outputRoot.toString());<a name="line.954"></a>
+<span class="sourceLineNo">955</span><a name="line.955"></a>
+<span class="sourceLineNo">956</span>    boolean skipTmp = conf.getBoolean(CONF_SKIP_TMP, false);<a name="line.956"></a>
+<span class="sourceLineNo">957</span><a name="line.957"></a>
+<span class="sourceLineNo">958</span>    Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, inputRoot);<a name="line.958"></a>
+<span class="sourceLineNo">959</span>    Path snapshotTmpDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(targetName, outputRoot);<a name="line.959"></a>
+<span class="sourceLineNo">960</span>    Path outputSnapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(targetName, outputRoot);<a name="line.960"></a>
+<span class="sourceLineNo">961</span>    Path initialOutputSnapshotDir = skipTmp ? outputSnapshotDir : snapshotTmpDir;<a name="line.961"></a>
+<span class="sourceLineNo">962</span><a name="line.962"></a>
+<span class="sourceLineNo">963</span>    // Find the necessary directory which need to change owner and group<a name="line.963"></a>
+<span class="sourceLineNo">964</span>    Path needSetOwnerDir = SnapshotDescriptionUtils.getSnapshotRootDir(outputRoot);<a name="line.964"></a>
+<span class="sourceLineNo">965</span>    if (outputFs.exists(needSetOwnerDir)) {<a name="line.965"></a>
+<span class="sourceLineNo">966</span>      if (skipTmp) {<a name="line.966"></a>
+<span class="sourceLineNo">967</span>        needSetOwnerDir = outputSnapshotDir;<a name="line.967"></a>
+<span class="sourceLineNo">968</span>      } else {<a name="line.968"></a>
+<span class="sourceLineNo">969</span>        needSetOwnerDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(outputRoot);<a name="line.969"></a>
+<span class="sourceLineNo">970</span>        if (outputFs.exists(needSetOwnerDir)) {<a name="line.970"></a>
+<span class="sourceLineNo">971</span>          needSetOwnerDir = snapshotTmpDir;<a name="line.971"></a>
+<span class="sourceLineNo">972</span>        }<a name="line.972"></a>
+<span class="sourceLineNo">973</span>      }<a name="line.973"></a>
+<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
+<span class="sourceLineNo">975</span><a name="line.975"></a>
+<span class="sourceLineNo">976</span>    // Check if the snapshot already exists<a name="line.976"></a>
+<span class="sourceLineNo">977</span>    if (outputFs.exists(outputSnapshotDir)) {<a name="line.977"></a>
+<span class="sourceLineNo">978</span>      if (overwrite) {<a name="line.978"></a>
+<span class="sourceLineNo">979</span>        if (!outputFs.delete(outputSnapshotDir, true)) {<a name="line.979"></a>
+<span class="sourceLineNo">980</span>          System.err.println("Unable to remove existing snapshot directory: " + outputSnapshotDir);<a name="line.980"></a>
+<span class="sourceLineNo">981</span>          return 1;<a name="line.981"></a>
+<span class="sourceLineNo">982</span>        }<a name="line.982"></a>
+<span class="sourceLineNo">983</span>      } else {<a name="line.983"></a>
+<span class="sourceLineNo">984</span>        System.err.println("The snapshot '" + targetName +<a name="line.984"></a>
+<span class="sourceLineNo">985</span>          "' already exists in the destination: " + outputSnapshotDir);<a name="line.985"></a>
+<span class="sourceLineNo">986</span>        return 1;<a name="line.986"></a>
+<span class="sourceLineNo">987</span>      }<a name="line.987"></a>
+<span class="sourceLineNo">988</span>    }<a name="line.988"></a>
+<span class="sourceLineNo">989</span><a name="line.989"></a>
+<span class="sourceLineNo">990</span>    if (!skipTmp) {<a name="line.990"></a>
+<span class="sourceLineNo">991</span>      // Check if the snapshot already in-prog

<TRUNCATED>

[39/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/Result.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/Result.html b/apidocs/org/apache/hadoop/hbase/client/Result.html
index f3966fc..86a7536 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Result.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Result.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  @InterfaceStability.Stable
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.81">Result</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.83">Result</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellScanner</pre>
 <div class="block">Single row result of a <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client"><code>Get</code></a> or <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a> query.<p>
@@ -342,11 +342,11 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Result.html#create-java.util.List-java.lang.Boolean-boolean-boolean-">create</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists,
       boolean&nbsp;stale,
-      boolean&nbsp;partial)</code>&nbsp;</td>
+      boolean&nbsp;mayHaveMoreCellsInRow)</code>&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Result.html#createCompleteResult-java.util.List-">createCompleteResult</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;partialResults)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Result.html#createCompleteResult-java.lang.Iterable-">createCompleteResult</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;partialResults)</code>
 <div class="block">Forms a single result from the partial results in the partialResults list.</div>
 </td>
 </tr>
@@ -493,7 +493,8 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <tr id="i40" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--">mayHaveMoreCellsInRow</a></span>()</code>
-<div class="block">For scanning large rows, the RS may choose to return the cells chunk by chunk to prevent OOM.</div>
+<div class="block">For scanning large rows, the RS may choose to return the cells chunk by chunk to prevent OOM
+ or timeout.</div>
 </td>
 </tr>
 <tr id="i41" class="rowColor">
@@ -548,7 +549,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EMPTY_RESULT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.100">EMPTY_RESULT</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.101">EMPTY_RESULT</a></pre>
 </li>
 </ul>
 </li>
@@ -565,7 +566,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Result</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.118">Result</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.119">Result</a>()</pre>
 <div class="block">Creates an empty Result w/ no KeyValue payload; returns null if you call <a href="../../../../../org/apache/hadoop/hbase/client/Result.html#rawCells--"><code>rawCells()</code></a>.
  Use this to represent no results if <code>null</code> won't do or in old 'mapred' as opposed
  to 'mapreduce' package MapReduce where you need to overwrite a Result instance with a
@@ -586,7 +587,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.136">create</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.137">create</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)</pre>
 <div class="block">Instantiate a Result with the specified List of KeyValues.
  <br><strong>Note:</strong> You must ensure that the keyvalues are already sorted.</div>
 <dl>
@@ -601,7 +602,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.140">create</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.141">create</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists)</pre>
 </li>
 </ul>
@@ -611,7 +612,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.144">create</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.145">create</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists,
                             boolean&nbsp;stale)</pre>
 </li>
@@ -622,10 +623,10 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.148">create</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.149">create</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists,
                             boolean&nbsp;stale,
-                            boolean&nbsp;partial)</pre>
+                            boolean&nbsp;mayHaveMoreCellsInRow)</pre>
 </li>
 </ul>
 <a name="create-org.apache.hadoop.hbase.Cell:A-">
@@ -634,7 +635,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.160">create</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;cells)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.162">create</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;cells)</pre>
 <div class="block">Instantiate a Result with the specified array of KeyValues.
  <br><strong>Note:</strong> You must ensure that the keyvalues are already sorted.</div>
 <dl>
@@ -649,7 +650,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.164">create</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;cells,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.166">create</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;cells,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists,
                             boolean&nbsp;stale)</pre>
 </li>
@@ -660,7 +661,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.168">create</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;cells,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.170">create</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;cells,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists,
                             boolean&nbsp;stale,
                             boolean&nbsp;mayHaveMoreCellsInRow)</pre>
@@ -672,7 +673,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.190">getRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.192">getRow</a>()</pre>
 <div class="block">Method for retrieving the row key that corresponds to
  the row from which this Result was created.</div>
 <dl>
@@ -687,7 +688,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>rawCells</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.219">rawCells</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.221">rawCells</a>()</pre>
 <div class="block">Return the array of Cells backing this Result instance.
 
  The array is sorted from smallest -&gt; largest using the
@@ -716,7 +717,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>listCells</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.230">listCells</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.232">listCells</a>()</pre>
 <div class="block">Create a sorted list of the Cell's in this result.
 
  Since HBase 0.20.5 this is equivalent to raw().</div>
@@ -732,7 +733,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnCells</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.249">getColumnCells</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.251">getColumnCells</a>(byte[]&nbsp;family,
                                  byte[]&nbsp;qualifier)</pre>
 <div class="block">Return the Cells for the specific column.  The Cells are sorted in
  the <code>CellComparator.COMPARATOR</code> order.  That implies the first entry in
@@ -758,7 +759,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>binarySearch</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.281">binarySearch</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;kvs,
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.283">binarySearch</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;kvs,
                            byte[]&nbsp;family,
                            byte[]&nbsp;qualifier)</pre>
 </li>
@@ -769,7 +770,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>binarySearch</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.318">binarySearch</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;kvs,
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.320">binarySearch</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;kvs,
                            byte[]&nbsp;family,
                            int&nbsp;foffset,
                            int&nbsp;flength,
@@ -797,7 +798,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnLatestCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.359">getColumnLatestCell</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.361">getColumnLatestCell</a>(byte[]&nbsp;family,
                                 byte[]&nbsp;qualifier)</pre>
 <div class="block">The Cell for the most recent timestamp for a given column.</div>
 <dl>
@@ -816,7 +817,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnLatestCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.387">getColumnLatestCell</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.389">getColumnLatestCell</a>(byte[]&nbsp;family,
                                 int&nbsp;foffset,
                                 int&nbsp;flength,
                                 byte[]&nbsp;qualifier,
@@ -843,7 +844,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getValue</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.413">getValue</a>(byte[]&nbsp;family,
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.415">getValue</a>(byte[]&nbsp;family,
                        byte[]&nbsp;qualifier)</pre>
 <div class="block">Get the latest version of the specified column.
  Note: this call clones the value content of the hosting Cell. See
@@ -864,7 +865,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsByteBuffer</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.429">getValueAsByteBuffer</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.431">getValueAsByteBuffer</a>(byte[]&nbsp;family,
                                        byte[]&nbsp;qualifier)</pre>
 <div class="block">Returns the value wrapped in a new <code>ByteBuffer</code>.</div>
 <dl>
@@ -882,7 +883,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsByteBuffer</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.452">getValueAsByteBuffer</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.454">getValueAsByteBuffer</a>(byte[]&nbsp;family,
                                        int&nbsp;foffset,
                                        int&nbsp;flength,
                                        byte[]&nbsp;qualifier,
@@ -908,7 +909,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>loadValue</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.477">loadValue</a>(byte[]&nbsp;family,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.479">loadValue</a>(byte[]&nbsp;family,
                          byte[]&nbsp;qualifier,
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;dst)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/BufferOverflowException.html?is-external=true" title="class or interface in java.nio">BufferOverflowException</a></pre>
@@ -933,7 +934,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>loadValue</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.499">loadValue</a>(byte[]&nbsp;family,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.501">loadValue</a>(byte[]&nbsp;family,
                          int&nbsp;foffset,
                          int&nbsp;flength,
                          byte[]&nbsp;qualifier,
@@ -966,7 +967,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>containsNonEmptyColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.519">containsNonEmptyColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.521">containsNonEmptyColumn</a>(byte[]&nbsp;family,
                                       byte[]&nbsp;qualifier)</pre>
 <div class="block">Checks if the specified column contains a non-empty value (not a zero-length byte array).</div>
 <dl>
@@ -984,7 +985,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>containsNonEmptyColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.536">containsNonEmptyColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.538">containsNonEmptyColumn</a>(byte[]&nbsp;family,
                                       int&nbsp;foffset,
                                       int&nbsp;flength,
                                       byte[]&nbsp;qualifier,
@@ -1010,7 +1011,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>containsEmptyColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.552">containsEmptyColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.554">containsEmptyColumn</a>(byte[]&nbsp;family,
                                    byte[]&nbsp;qualifier)</pre>
 <div class="block">Checks if the specified column contains an empty value (a zero-length byte array).</div>
 <dl>
@@ -1028,7 +1029,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>containsEmptyColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.569">containsEmptyColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.571">containsEmptyColumn</a>(byte[]&nbsp;family,
                                    int&nbsp;foffset,
                                    int&nbsp;flength,
                                    byte[]&nbsp;qualifier,
@@ -1054,7 +1055,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>containsColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.584">containsColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.586">containsColumn</a>(byte[]&nbsp;family,
                               byte[]&nbsp;qualifier)</pre>
 <div class="block">Checks for existence of a value for the specified column (empty or not).</div>
 <dl>
@@ -1072,7 +1073,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>containsColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.601">containsColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.603">containsColumn</a>(byte[]&nbsp;family,
                               int&nbsp;foffset,
                               int&nbsp;flength,
                               byte[]&nbsp;qualifier,
@@ -1098,7 +1099,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,byte[]&gt;&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.616">getMap</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,byte[]&gt;&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.618">getMap</a>()</pre>
 <div class="block">Map of families to all versions of its qualifiers and values.
  <p>
  Returns a three level Map of the form:
@@ -1117,7 +1118,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getNoVersionMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.658">getNoVersionMap</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.660">getNoVersionMap</a>()</pre>
 <div class="block">Map of families to their most recent qualifiers and values.
  <p>
  Returns a two level Map of the form: <code>Map&amp;family,Map&lt;qualifier,value&gt;&gt;</code>
@@ -1153,7 +1154,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>value</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.716">value</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.715">value</a>()</pre>
 <div class="block">Returns the value of the first column in the Result.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1167,7 +1168,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isEmpty</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.727">isEmpty</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.726">isEmpty</a>()</pre>
 <div class="block">Check if the underlying Cell [] is empty or not</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1181,7 +1182,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.734">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.733">size</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the size of the underlying Cell []</dd>
@@ -1194,7 +1195,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.742">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.741">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://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>
@@ -1209,7 +1210,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>compareResults</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.769">compareResults</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;res1,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.768">compareResults</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;res1,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;res2)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Does a deep comparison of two Results, down to the byte arrays.</div>
@@ -1222,13 +1223,13 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 </dl>
 </li>
 </ul>
-<a name="createCompleteResult-java.util.List-">
+<a name="createCompleteResult-java.lang.Iterable-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>createCompleteResult</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.798">createCompleteResult</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;partialResults)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.797">createCompleteResult</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;partialResults)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Forms a single result from the partial results in the partialResults list. This method is
  useful for reconstructing partial results on the client side.</div>
@@ -1249,7 +1250,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalSizeOfCells</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.847">getTotalSizeOfCells</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.844">getTotalSizeOfCells</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)</pre>
 <div class="block">Get total size of raw cells</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1265,7 +1266,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>copyFrom</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.864">copyFrom</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;other)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.861">copyFrom</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;other)</pre>
 <div class="block">Copy another Result into this one. Needed for the old Mapred framework</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1282,7 +1283,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>cellScanner</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.872">cellScanner</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.869">cellScanner</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>cellScanner</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.CellScannable</code></dd>
@@ -1297,7 +1298,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>current</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.879">current</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.876">current</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>current</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.CellScanner</code></dd>
@@ -1312,7 +1313,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>advance</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.885">advance</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.882">advance</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.hadoop.hbase.CellScanner</code></span></div>
 <div class="block">Advance the scanner 1 cell.</div>
 <dl>
@@ -1329,7 +1330,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getExists</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.890">getExists</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.887">getExists</a>()</pre>
 </li>
 </ul>
 <a name="setExists-java.lang.Boolean-">
@@ -1338,7 +1339,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>setExists</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.894">setExists</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.891">setExists</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists)</pre>
 </li>
 </ul>
 <a name="isStale--">
@@ -1347,7 +1348,7 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isStale</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.904">isStale</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.901">isStale</a>()</pre>
 <div class="block">Whether or not the results are coming from possibly stale data. Stale results
  might be returned if <a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><code>Consistency</code></a> is not STRONG for the query.</div>
 <dl>
@@ -1363,15 +1364,10 @@ implements org.apache.hadoop.hbase.CellScannable, org.apache.hadoop.hbase.CellSc
 <li class="blockList">
 <h4>isPartial</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.918">isPartial</a>()</pre>
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.911">isPartial</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">the word 'partial' ambiguous, use <a href="../../../../../org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--"><code>mayHaveMoreCellsInRow()</code></a> instead.
              Deprecated since 1.4.0.</span></div>
-<div class="block">Whether or not the result is a partial result. Partial results contain a subset of the cells
- for a row and should be combined with a result representing the remaining cells in that row to
- form a complete (non-partial) result.</div>
 <dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Whether or not the result is a partial result</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--"><code>mayHaveMoreCellsInRow()</code></a></dd>
 </dl>
@@ -1383,16 +1379,13 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>mayHaveMoreCellsInRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.933">mayHaveMoreCellsInRow</a>()</pre>
-<div class="block">For scanning large rows, the RS may choose to return the cells chunk by chunk to prevent OOM.
- This flag is used to tell you if the current Result is the last one of the current row. False
- means this Result is the last one. True means there may still be more cells for the current
- row. Notice that, 'may' have, not must have. This is because we may reach the size or time
- limit just at the last cell of row at RS, so we do not know if it is the last one.
- <p>
- The Scan configuration used to control the result size on the server is
- <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxResultSize-long-"><code>Scan.setMaxResultSize(long)</code></a> and the default value can be seen here:
- <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE"><code>HConstants.DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE</code></a></div>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.923">mayHaveMoreCellsInRow</a>()</pre>
+<div class="block">For scanning large rows, the RS may choose to return the cells chunk by chunk to prevent OOM
+ or timeout. This flag is used to tell you if the current Result is the last one of the current
+ row. False means this Result is the last one. True means there MAY be more cells belonging to
+ the current row.
+ If you don't use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAllowPartialResults-boolean-"><code>Scan.setAllowPartialResults(boolean)</code></a> or <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setBatch-int-"><code>Scan.setBatch(int)</code></a>,
+ this method will always return false because the Result must contains all cells in one Row.</div>
 </li>
 </ul>
 <a name="getStats--">
@@ -1401,7 +1394,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStats</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLoadStats.html" title="class in org.apache.hadoop.hbase.client">RegionLoadStats</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.950">getStats</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLoadStats.html" title="class in org.apache.hadoop.hbase.client">RegionLoadStats</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Result.html#line.940">getStats</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the associated statistics about the region from which this was returned. Can be

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/ResultScanner.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/ResultScanner.html b/apidocs/org/apache/hadoop/hbase/client/ResultScanner.html
index b03dd37..a371b8d 100644
--- a/apidocs/org/apache/hadoop/hbase/client/ResultScanner.html
+++ b/apidocs/org/apache/hadoop/hbase/client/ResultScanner.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":18,"i2":6,"i3":18,"i4":6};
+var methods = {"i0":6,"i1":6,"i2":18,"i3":6,"i4":18,"i5":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -111,7 +111,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  @InterfaceStability.Stable
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.36">ResultScanner</a>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.37">ResultScanner</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</pre>
 <div class="block">Interface for client-side scanning. Go to <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> to obtain instances.</div>
 </li>
@@ -139,22 +139,26 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.hadoop.hbase.client.metrics.ScanMetrics</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--">getScanMetrics</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#iterator--">iterator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#next--">next</a></span>()</code>
 <div class="block">Grab the next row's worth of values.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#next-int-">next</a></span>(int&nbsp;nbRows)</code>
 <div class="block">Get nbRows rows.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#renewLease--">renewLease</a></span>()</code>
 <div class="block">Allow the client to renew the scanner's lease on the server.</div>
@@ -188,7 +192,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html
 <ul class="blockList">
 <li class="blockList">
 <h4>iterator</h4>
-<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.39">iterator</a>()</pre>
+<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.40">iterator</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://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>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></dd>
@@ -201,7 +205,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.85">next</a>()
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.86">next</a>()
      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Grab the next row's worth of values. The scanner will return a Result.</div>
 <dl>
@@ -218,7 +222,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.95">next</a>(int&nbsp;nbRows)
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.96">next</a>(int&nbsp;nbRows)
                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get nbRows rows. How many RPCs are made is determined by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setCaching-int-"><code>Scan.setCaching(int)</code></a>
  setting (or hbase.client.scanner.caching in hbase-site.xml).</div>
@@ -239,7 +243,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.112">close</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.113">close</a>()</pre>
 <div class="block">Closes the scanner and releases any resources it has allocated</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -252,10 +256,10 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html
 <a name="renewLease--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>renewLease</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.118">renewLease</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.119">renewLease</a>()</pre>
 <div class="block">Allow the client to renew the scanner's lease on the server.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -263,6 +267,19 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html
 </dl>
 </li>
 </ul>
+<a name="getScanMetrics--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getScanMetrics</h4>
+<pre>org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ResultScanner.html#line.124">getScanMetrics</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the scan metrics, or <code>null</code> if we do not enable metrics.</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[20/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Result.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Result.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Result.html
index 1a6b0c2..c93b1f5 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Result.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Result.html
@@ -32,650 +32,650 @@
 <span class="sourceLineNo">024</span>import java.nio.ByteBuffer;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import java.util.Arrays;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.Comparator;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.List;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Map;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.NavigableMap;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.TreeMap;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.Cell;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.HConstants;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * Single row result of a {@link Get} or {@link Scan} query.&lt;p&gt;<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * This class is &lt;b&gt;NOT THREAD SAFE&lt;/b&gt;.&lt;p&gt;<a name="line.48"></a>
+<span class="sourceLineNo">027</span>import java.util.Collections;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Comparator;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Iterator;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.NavigableMap;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.TreeMap;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.Cell;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HConstants;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>/**<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * Single row result of a {@link Get} or {@link Scan} query.&lt;p&gt;<a name="line.48"></a>
 <span class="sourceLineNo">049</span> *<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * Convenience methods are available that return various {@link Map}<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * structures and values directly.&lt;p&gt;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> *<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * To get a complete mapping of all cells in the Result, which can include<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * multiple families and multiple versions, use {@link #getMap()}.&lt;p&gt;<a name="line.54"></a>
-<span class="sourceLineNo">055</span> *<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * To get a mapping of each family to its columns (qualifiers and values),<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * including only the latest version of each, use {@link #getNoVersionMap()}.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> *<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * To get a mapping of qualifiers to latest values for an individual family use<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * {@link #getFamilyMap(byte[])}.&lt;p&gt;<a name="line.60"></a>
-<span class="sourceLineNo">061</span> *<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * To get the latest value for a specific family and qualifier use<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * {@link #getValue(byte[], byte[])}.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> *<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * A Result is backed by an array of {@link Cell} objects, each representing<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * an HBase cell defined by the row, family, qualifier, timestamp, and value.&lt;p&gt;<a name="line.66"></a>
-<span class="sourceLineNo">067</span> *<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * The underlying {@link Cell} objects can be accessed through the method {@link #listCells()}.<a name="line.68"></a>
-<span class="sourceLineNo">069</span> * This will create a List from the internal Cell []. Better is to exploit the fact that<a name="line.69"></a>
-<span class="sourceLineNo">070</span> * a new Result instance is a primed {@link CellScanner}; just call {@link #advance()} and<a name="line.70"></a>
-<span class="sourceLineNo">071</span> * {@link #current()} to iterate over Cells as you would any {@link CellScanner}.<a name="line.71"></a>
-<span class="sourceLineNo">072</span> * Call {@link #cellScanner()} to reset should you need to iterate the same Result over again<a name="line.72"></a>
-<span class="sourceLineNo">073</span> * ({@link CellScanner}s are one-shot).<a name="line.73"></a>
-<span class="sourceLineNo">074</span> *<a name="line.74"></a>
-<span class="sourceLineNo">075</span> * If you need to overwrite a Result with another Result instance -- as in the old 'mapred'<a name="line.75"></a>
-<span class="sourceLineNo">076</span> * RecordReader next invocations -- then create an empty Result with the null constructor and<a name="line.76"></a>
-<span class="sourceLineNo">077</span> * in then use {@link #copyFrom(Result)}<a name="line.77"></a>
-<span class="sourceLineNo">078</span> */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>@InterfaceAudience.Public<a name="line.79"></a>
-<span class="sourceLineNo">080</span>@InterfaceStability.Stable<a name="line.80"></a>
-<span class="sourceLineNo">081</span>public class Result implements CellScannable, CellScanner {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  private Cell[] cells;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private Boolean exists; // if the query was just to check existence.<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private boolean stale = false;<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>   * See {@link #mayHaveMoreCellsInRow()}. And please notice that, The client side implementation<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * should also check for row key change to determine if a Result is the last one for a row.<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  private boolean mayHaveMoreCellsInRow = false;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  // We're not using java serialization.  Transient here is just a marker to say<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  // that this is where we cache row if we're ever asked for it.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  private transient byte [] row = null;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  // Ditto for familyMap.  It can be composed on fly from passed in kvs.<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  private transient NavigableMap&lt;byte[], NavigableMap&lt;byte[], NavigableMap&lt;Long, byte[]&gt;&gt;&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      familyMap = null;<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  private static ThreadLocal&lt;byte[]&gt; localBuffer = new ThreadLocal&lt;byte[]&gt;();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  private static final int PAD_WIDTH = 128;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public static final Result EMPTY_RESULT = new Result(true);<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  private final static int INITIAL_CELLSCANNER_INDEX = -1;<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>   * Index for where we are when Result is acting as a {@link CellScanner}.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  private int cellScannerIndex = INITIAL_CELLSCANNER_INDEX;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  private RegionLoadStats stats;<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  private final boolean readonly;<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>   * Creates an empty Result w/ no KeyValue payload; returns null if you call {@link #rawCells()}.<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * Use this to represent no results if {@code null} won't do or in old 'mapred' as opposed<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * to 'mapreduce' package MapReduce where you need to overwrite a Result instance with a<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * {@link #copyFrom(Result)} call.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public Result() {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    this(false);<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>  /**<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * Allows to construct special purpose immutable Result objects,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * such as EMPTY_RESULT.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @param readonly whether this Result instance is readonly<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private Result(boolean readonly) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    this.readonly = readonly;<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>   * Instantiate a Result with the specified List of KeyValues.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * &lt;br&gt;&lt;strong&gt;Note:&lt;/strong&gt; You must ensure that the keyvalues are already sorted.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param cells List of cells<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  public static Result create(List&lt;Cell&gt; cells) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    return create(cells, null);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public static Result create(List&lt;Cell&gt; cells, Boolean exists) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return create(cells, exists, false);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static Result create(List&lt;Cell&gt; cells, Boolean exists, boolean stale) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return create(cells, exists, stale, false);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public static Result create(List&lt;Cell&gt; cells, Boolean exists, boolean stale, boolean partial) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    if (exists != null){<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      return new Result(null, exists, stale, partial);<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    return new Result(cells.toArray(new Cell[cells.size()]), null, stale, partial);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span>  /**<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * Instantiate a Result with the specified array of KeyValues.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * &lt;br&gt;&lt;strong&gt;Note:&lt;/strong&gt; You must ensure that the keyvalues are already sorted.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @param cells array of cells<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public static Result create(Cell[] cells) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    return create(cells, null, false);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public static Result create(Cell[] cells, Boolean exists, boolean stale) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return create(cells, exists, stale, false);<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>  public static Result create(Cell[] cells, Boolean exists, boolean stale,<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      boolean mayHaveMoreCellsInRow) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    if (exists != null) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return new Result(null, exists, stale, mayHaveMoreCellsInRow);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    return new Result(cells, null, stale, mayHaveMoreCellsInRow);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  /** Private ctor. Use {@link #create(Cell[])}. */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  private Result(Cell[] cells, Boolean exists, boolean stale, boolean mayHaveMoreCellsInRow) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    this.cells = cells;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    this.exists = exists;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    this.stale = stale;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    this.mayHaveMoreCellsInRow = mayHaveMoreCellsInRow;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    this.readonly = false;<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">186</span>   * Method for retrieving the row key that corresponds to<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * the row from which this Result was created.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * @return row<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  public byte [] getRow() {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    if (this.row == null) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      this.row = (this.cells == null || this.cells.length == 0) ?<a name="line.192"></a>
-<span class="sourceLineNo">193</span>          null :<a name="line.193"></a>
-<span class="sourceLineNo">194</span>          CellUtil.cloneRow(this.cells[0]);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    return this.row;<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>  /**<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   * Return the array of Cells backing this Result instance.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   *<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * The array is sorted from smallest -&amp;gt; largest using the<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * {@link CellComparator#COMPARATOR}.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   *<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * The array only contains what your Get or Scan specifies and no more.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * For example if you request column "A" 1 version you will have at most 1<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * Cell in the array. If you request column "A" with 2 version you will<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * have at most 2 Cells, with the first one being the newer timestamp and<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * the second being the older timestamp (this is the sort order defined by<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * {@link CellComparator#COMPARATOR}).  If columns don't exist, they won't be<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * present in the result. Therefore if you ask for 1 version all columns,<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * it is safe to iterate over this array and expect to see 1 Cell for<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * each column and no more.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   *<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * This API is faster than using getFamilyMap() and getMap()<a name="line.215"></a>
+<span class="sourceLineNo">050</span> * This class is &lt;b&gt;NOT THREAD SAFE&lt;/b&gt;.&lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> *<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Convenience methods are available that return various {@link Map}<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * structures and values directly.&lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> *<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * To get a complete mapping of all cells in the Result, which can include<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * multiple families and multiple versions, use {@link #getMap()}.&lt;p&gt;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> *<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * To get a mapping of each family to its columns (qualifiers and values),<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * including only the latest version of each, use {@link #getNoVersionMap()}.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> *<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * To get a mapping of qualifiers to latest values for an individual family use<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * {@link #getFamilyMap(byte[])}.&lt;p&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * To get the latest value for a specific family and qualifier use<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * {@link #getValue(byte[], byte[])}.<a name="line.65"></a>
+<span class="sourceLineNo">066</span> *<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * A Result is backed by an array of {@link Cell} objects, each representing<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * an HBase cell defined by the row, family, qualifier, timestamp, and value.&lt;p&gt;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> *<a name="line.69"></a>
+<span class="sourceLineNo">070</span> * The underlying {@link Cell} objects can be accessed through the method {@link #listCells()}.<a name="line.70"></a>
+<span class="sourceLineNo">071</span> * This will create a List from the internal Cell []. Better is to exploit the fact that<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * a new Result instance is a primed {@link CellScanner}; just call {@link #advance()} and<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * {@link #current()} to iterate over Cells as you would any {@link CellScanner}.<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * Call {@link #cellScanner()} to reset should you need to iterate the same Result over again<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * ({@link CellScanner}s are one-shot).<a name="line.75"></a>
+<span class="sourceLineNo">076</span> *<a name="line.76"></a>
+<span class="sourceLineNo">077</span> * If you need to overwrite a Result with another Result instance -- as in the old 'mapred'<a name="line.77"></a>
+<span class="sourceLineNo">078</span> * RecordReader next invocations -- then create an empty Result with the null constructor and<a name="line.78"></a>
+<span class="sourceLineNo">079</span> * in then use {@link #copyFrom(Result)}<a name="line.79"></a>
+<span class="sourceLineNo">080</span> */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>@InterfaceAudience.Public<a name="line.81"></a>
+<span class="sourceLineNo">082</span>@InterfaceStability.Stable<a name="line.82"></a>
+<span class="sourceLineNo">083</span>public class Result implements CellScannable, CellScanner {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  private Cell[] cells;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private Boolean exists; // if the query was just to check existence.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private boolean stale = false;<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  /**<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * See {@link #mayHaveMoreCellsInRow()}.<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  private boolean mayHaveMoreCellsInRow = false;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  // We're not using java serialization.  Transient here is just a marker to say<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  // that this is where we cache row if we're ever asked for it.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  private transient byte [] row = null;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  // Ditto for familyMap.  It can be composed on fly from passed in kvs.<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  private transient NavigableMap&lt;byte[], NavigableMap&lt;byte[], NavigableMap&lt;Long, byte[]&gt;&gt;&gt;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      familyMap = null;<a name="line.97"></a>
+<span class="sourceLineNo">098</span><a name="line.98"></a>
+<span class="sourceLineNo">099</span>  private static ThreadLocal&lt;byte[]&gt; localBuffer = new ThreadLocal&lt;&gt;();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  private static final int PAD_WIDTH = 128;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public static final Result EMPTY_RESULT = new Result(true);<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>  private final static int INITIAL_CELLSCANNER_INDEX = -1;<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>   * Index for where we are when Result is acting as a {@link CellScanner}.<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  private int cellScannerIndex = INITIAL_CELLSCANNER_INDEX;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  private RegionLoadStats stats;<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  private final boolean readonly;<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>   * Creates an empty Result w/ no KeyValue payload; returns null if you call {@link #rawCells()}.<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * Use this to represent no results if {@code null} won't do or in old 'mapred' as opposed<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * to 'mapreduce' package MapReduce where you need to overwrite a Result instance with a<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * {@link #copyFrom(Result)} call.<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  public Result() {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    this(false);<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>   * Allows to construct special purpose immutable Result objects,<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * such as EMPTY_RESULT.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * @param readonly whether this Result instance is readonly<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   */<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  private Result(boolean readonly) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    this.readonly = readonly;<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>  /**<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * Instantiate a Result with the specified List of KeyValues.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * &lt;br&gt;&lt;strong&gt;Note:&lt;/strong&gt; You must ensure that the keyvalues are already sorted.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param cells List of cells<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public static Result create(List&lt;Cell&gt; cells) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    return create(cells, null);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public static Result create(List&lt;Cell&gt; cells, Boolean exists) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    return create(cells, exists, false);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>  public static Result create(List&lt;Cell&gt; cells, Boolean exists, boolean stale) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    return create(cells, exists, stale, false);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  public static Result create(List&lt;Cell&gt; cells, Boolean exists, boolean stale,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      boolean mayHaveMoreCellsInRow) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (exists != null){<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      return new Result(null, exists, stale, mayHaveMoreCellsInRow);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    return new Result(cells.toArray(new Cell[cells.size()]), null, stale, mayHaveMoreCellsInRow);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * Instantiate a Result with the specified array of KeyValues.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * &lt;br&gt;&lt;strong&gt;Note:&lt;/strong&gt; You must ensure that the keyvalues are already sorted.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * @param cells array of cells<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public static Result create(Cell[] cells) {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return create(cells, null, false);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public static Result create(Cell[] cells, Boolean exists, boolean stale) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return create(cells, exists, stale, false);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  public static Result create(Cell[] cells, Boolean exists, boolean stale,<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      boolean mayHaveMoreCellsInRow) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    if (exists != null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      return new Result(null, exists, stale, mayHaveMoreCellsInRow);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    return new Result(cells, null, stale, mayHaveMoreCellsInRow);<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>  /** Private ctor. Use {@link #create(Cell[])}. */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  private Result(Cell[] cells, Boolean exists, boolean stale, boolean mayHaveMoreCellsInRow) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    this.cells = cells;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    this.exists = exists;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    this.stale = stale;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    this.mayHaveMoreCellsInRow = mayHaveMoreCellsInRow;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    this.readonly = false;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
+<span class="sourceLineNo">186</span><a name="line.186"></a>
+<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * Method for retrieving the row key that corresponds to<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * the row from which this Result was created.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * @return row<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  public byte [] getRow() {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    if (this.row == null) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      this.row = (this.cells == null || this.cells.length == 0) ?<a name="line.194"></a>
+<span class="sourceLineNo">195</span>          null :<a name="line.195"></a>
+<span class="sourceLineNo">196</span>          CellUtil.cloneRow(this.cells[0]);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    return this.row;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  }<a name="line.199"></a>
+<span class="sourceLineNo">200</span><a name="line.200"></a>
+<span class="sourceLineNo">201</span>  /**<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * Return the array of Cells backing this Result instance.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   *<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * The array is sorted from smallest -&amp;gt; largest using the<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * {@link CellComparator#COMPARATOR}.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   *<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * The array only contains what your Get or Scan specifies and no more.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * For example if you request column "A" 1 version you will have at most 1<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * Cell in the array. If you request column "A" with 2 version you will<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * have at most 2 Cells, with the first one being the newer timestamp and<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * the second being the older timestamp (this is the sort order defined by<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * {@link CellComparator#COMPARATOR}).  If columns don't exist, they won't be<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * present in the result. Therefore if you ask for 1 version all columns,<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * it is safe to iterate over this array and expect to see 1 Cell for<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * each column and no more.<a name="line.215"></a>
 <span class="sourceLineNo">216</span>   *<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * @return array of Cells; can be null if nothing in the result<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  public Cell[] rawCells() {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    return cells;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  /**<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * Create a sorted list of the Cell's in this result.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   *<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * Since HBase 0.20.5 this is equivalent to raw().<a name="line.226"></a>
+<span class="sourceLineNo">217</span>   * This API is faster than using getFamilyMap() and getMap()<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   *<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   * @return array of Cells; can be null if nothing in the result<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   */<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  public Cell[] rawCells() {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    return cells;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  /**<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * Create a sorted list of the Cell's in this result.<a name="line.226"></a>
 <span class="sourceLineNo">227</span>   *<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * @return sorted List of Cells; can be null if no cells in the result<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public List&lt;Cell&gt; listCells() {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    return isEmpty()? null: Arrays.asList(rawCells());<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  /**<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   * Return the Cells for the specific column.  The Cells are sorted in<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * the {@link CellComparator#COMPARATOR} order.  That implies the first entry in<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * the list is the most recent column.  If the query (Scan or Get) only<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * requested 1 version the list will contain at most 1 entry.  If the column<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * did not exist in the result set (either the column does not exist<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * or the column was not selected in the query) the list will be empty.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   *<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * Also see getColumnLatest which returns just a Cell<a name="line.242"></a>
+<span class="sourceLineNo">228</span>   * Since HBase 0.20.5 this is equivalent to raw().<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   *<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * @return sorted List of Cells; can be null if no cells in the result<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  public List&lt;Cell&gt; listCells() {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return isEmpty()? null: Arrays.asList(rawCells());<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * Return the Cells for the specific column.  The Cells are sorted in<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * the {@link CellComparator#COMPARATOR} order.  That implies the first entry in<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * the list is the most recent column.  If the query (Scan or Get) only<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * requested 1 version the list will contain at most 1 entry.  If the column<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * did not exist in the result set (either the column does not exist<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * or the column was not selected in the query) the list will be empty.<a name="line.242"></a>
 <span class="sourceLineNo">243</span>   *<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * @param family the family<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * @param qualifier<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * @return a list of Cells for this column or empty list if the column<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * did not exist in the result set<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  public List&lt;Cell&gt; getColumnCells(byte [] family, byte [] qualifier) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    List&lt;Cell&gt; result = new ArrayList&lt;Cell&gt;();<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    Cell [] kvs = rawCells();<a name="line.252"></a>
+<span class="sourceLineNo">244</span>   * Also see getColumnLatest which returns just a Cell<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   *<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * @param family the family<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * @param qualifier<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * @return a list of Cells for this column or empty list if the column<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * did not exist in the result set<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   */<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  public List&lt;Cell&gt; getColumnCells(byte [] family, byte [] qualifier) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    List&lt;Cell&gt; result = new ArrayList&lt;&gt;();<a name="line.252"></a>
 <span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>    if (kvs == null || kvs.length == 0) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      return result;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    int pos = binarySearch(kvs, family, qualifier);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    if (pos == -1) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      return result; // cant find it<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    for (int i = pos; i &lt; kvs.length; i++) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      if (CellUtil.matchingColumn(kvs[i], family,qualifier)) {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        result.add(kvs[i]);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      } else {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        break;<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>    return result;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>  private byte[] notNullBytes(final byte[] bytes) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    if (bytes == null) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return HConstants.EMPTY_BYTE_ARRAY;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } else {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      return bytes;<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><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  protected int binarySearch(final Cell [] kvs,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>                             final byte [] family,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>                             final byte [] qualifier) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    byte[] familyNotNull = notNullBytes(family);<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    byte[] qualifierNotNull = notNullBytes(qualifier);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    Cell searchTerm =<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        CellUtil.createFirstOnRow(kvs[0].getRowArray(),<a name="line.287"></a>
-<span class="sourceLineNo">288</span>            kvs[0].getRowOffset(), kvs[0].getRowLength(),<a name="line.288"></a>
-<span class="sourceLineNo">289</span>            familyNotNull, 0, (byte)familyNotNull.length,<a name="line.289"></a>
-<span class="sourceLineNo">290</span>            qualifierNotNull, 0, qualifierNotNull.length);<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>    // pos === ( -(insertion point) - 1)<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    int pos = Arrays.binarySearch(kvs, searchTerm, CellComparator.COMPARATOR);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    // never will exact match<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    if (pos &lt; 0) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      pos = (pos+1) * -1;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      // pos is now insertion point<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    if (pos == kvs.length) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      return -1; // doesn't exist<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    return pos;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  /**<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * Searches for the latest value for the specified column.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   *<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @param kvs the array to search<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * @param family family name<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @param foffset family offset<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * @param flength family length<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * @param qualifier column qualifier<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * @param qoffset qualifier offset<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param qlength qualifier length<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   *<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   * @return the index where the value was found, or -1 otherwise<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  protected int binarySearch(final Cell [] kvs,<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      final byte [] family, final int foffset, final int flength,<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      final byte [] qualifier, final int qoffset, final int qlength) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>    double keyValueSize = (double)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        KeyValue.getKeyValueDataStructureSize(kvs[0].getRowLength(), flength, qlength, 0);<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    byte[] buffer = localBuffer.get();<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    if (buffer == null || keyValueSize &gt; buffer.length) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      // pad to the smallest multiple of the pad width<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      buffer = new byte[(int) Math.ceil(keyValueSize / PAD_WIDTH) * PAD_WIDTH];<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      localBuffer.set(buffer);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Cell searchTerm = KeyValueUtil.createFirstOnRow(buffer, 0,<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        kvs[0].getRowArray(), kvs[0].getRowOffset(), kvs[0].getRowLength(),<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        family, foffset, flength,<a name="line.334"></a>
-<span class="sourceLineNo">335</span>        qualifier, qoffset, qlength);<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>    // pos === ( -(insertion point) - 1)<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    int pos = Arrays.binarySearch(kvs, searchTerm, CellComparator.COMPARATOR);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    // never will exact match<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    if (pos &lt; 0) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      pos = (pos+1) * -1;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      // pos is now insertion point<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    }<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (pos == kvs.length) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      return -1; // doesn't exist<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return pos;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   * The Cell for the most recent timestamp for a given column.<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   *<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * @param family<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * @param qualifier<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   *<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @return the Cell for the column, or null if no value exists in the row or none have been<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * selected in the query (Get/Scan)<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  public Cell getColumnLatestCell(byte [] family, byte [] qualifier) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    Cell [] kvs = rawCells(); // side effect possibly.<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    if (kvs == null || kvs.length == 0) {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      return null;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    int pos = binarySearch(kvs, family, qualifier);<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    if (pos == -1) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      return null;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    }<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    if (CellUtil.matchingColumn(kvs[pos], family, qualifier)) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      return kvs[pos];<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    return null;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
-<span class="sourceLineNo">373</span><a name="line.373"></a>
-<span class="sourceLineNo">374</span>  /**<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * The Cell for the most recent timestamp for a given column.<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * @param family family name<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * @param foffset family offset<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @param flength family length<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @param qualifier column qualifier<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @param qoffset qualifier offset<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @param qlength qualifier length<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   *<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * @return the Cell for the column, or null if no value exists in the row or none have been<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * selected in the query (Get/Scan)<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  public Cell getColumnLatestCell(byte [] family, int foffset, int flength,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      byte [] qualifier, int qoffset, int qlength) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>    Cell [] kvs = rawCells(); // side effect possibly.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    if (kvs == null || kvs.length == 0) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      return null;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    int pos = binarySearch(kvs, family, foffset, flength, qualifier, qoffset, qlength);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    if (pos == -1) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      return null;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    if (CellUtil.matchingColumn(kvs[pos], family, foffset, flength, qualifier, qoffset, qlength)) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      return kvs[pos];<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    }<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return null;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /**<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * Get the latest version of the specified column.<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * Note: this call clones the value content of the hosting Cell. See<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * {@link #getValueAsByteBuffer(byte[], byte[])}, etc., or {@link #listCells()} if you would<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * avoid the cloning.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * @param family family name<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * @param qualifier column qualifier<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   * @return value of latest version of column, null if none found<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   */<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  public byte[] getValue(byte [] family, byte [] qualifier) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    Cell kv = getColumnLatestCell(family, qualifier);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    if (kv == null) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      return null;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    return CellUtil.cloneValue(kv);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  }<a name="line.419"></a>
-<span class="sourceLineNo">420</span><a name="line.420"></a>
-<span class="sourceLineNo">421</span>  /**<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   * Returns the value wrapped in a new &lt;code&gt;ByteBuffer&lt;/code&gt;.<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   *<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * @param family family name<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * @param qualifier column qualifier<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   *<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @return the latest version of the column, or &lt;code&gt;null&lt;/code&gt; if none found<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   */<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  public ByteBuffer getValueAsByteBuffer(byte [] family, byte [] qualifier) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>    Cell kv = getColumnLatestCell(family, 0, family.length, qualifier, 0, qualifier.length);<a name="line.431"></a>
+<span class="sourceLineNo">254</span>    Cell [] kvs = rawCells();<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>    if (kvs == null || kvs.length == 0) {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      return result;<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    }<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    int pos = binarySearch(kvs, family, qualifier);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (pos == -1) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      return result; // cant find it<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>    for (int i = pos; i &lt; kvs.length; i++) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      if (CellUtil.matchingColumn(kvs[i], family,qualifier)) {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        result.add(kvs[i]);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      } else {<a name="line.267"></a>
+<span class="sourceLineNo">268</span>        break;<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><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return result;<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>  private byte[] notNullBytes(final byte[] bytes) {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (bytes == null) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      return HConstants.EMPTY_BYTE_ARRAY;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    } else {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      return bytes;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  }<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  protected int binarySearch(final Cell [] kvs,<a name="line.283"></a>
+<span class="sourceLineNo">284</span>                             final byte [] family,<a name="line.284"></a>
+<span class="sourceLineNo">285</span>                             final byte [] qualifier) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    byte[] familyNotNull = notNullBytes(family);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    byte[] qualifierNotNull = notNullBytes(qualifier);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    Cell searchTerm =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        CellUtil.createFirstOnRow(kvs[0].getRowArray(),<a name="line.289"></a>
+<span class="sourceLineNo">290</span>            kvs[0].getRowOffset(), kvs[0].getRowLength(),<a name="line.290"></a>
+<span class="sourceLineNo">291</span>            familyNotNull, 0, (byte)familyNotNull.length,<a name="line.291"></a>
+<span class="sourceLineNo">292</span>            qualifierNotNull, 0, qualifierNotNull.length);<a name="line.292"></a>
+<span class="sourceLineNo">293</span><a name="line.293"></a>
+<span class="sourceLineNo">294</span>    // pos === ( -(insertion point) - 1)<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    int pos = Arrays.binarySearch(kvs, searchTerm, CellComparator.COMPARATOR);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    // never will exact match<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    if (pos &lt; 0) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      pos = (pos+1) * -1;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      // pos is now insertion point<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    if (pos == kvs.length) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      return -1; // doesn't exist<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    return pos;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  /**<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * Searches for the latest value for the specified column.<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   *<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * @param kvs the array to search<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * @param family family name<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param foffset family offset<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @param flength family length<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @param qualifier column qualifier<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param qoffset qualifier offset<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * @param qlength qualifier length<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   *<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * @return the index where the value was found, or -1 otherwise<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  protected int binarySearch(final Cell [] kvs,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      final byte [] family, final int foffset, final int flength,<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      final byte [] qualifier, final int qoffset, final int qlength) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span>    double keyValueSize = (double)<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        KeyValue.getKeyValueDataStructureSize(kvs[0].getRowLength(), flength, qlength, 0);<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>    byte[] buffer = localBuffer.get();<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    if (buffer == null || keyValueSize &gt; buffer.length) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      // pad to the smallest multiple of the pad width<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      buffer = new byte[(int) Math.ceil(keyValueSize / PAD_WIDTH) * PAD_WIDTH];<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      localBuffer.set(buffer);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>    Cell searchTerm = KeyValueUtil.createFirstOnRow(buffer, 0,<a name="line.334"></a>
+<span class="sourceLineNo">335</span>        kvs[0].getRowArray(), kvs[0].getRowOffset(), kvs[0].getRowLength(),<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        family, foffset, flength,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        qualifier, qoffset, qlength);<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>    // pos === ( -(insertion point) - 1)<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    int pos = Arrays.binarySearch(kvs, searchTerm, CellComparator.COMPARATOR);<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    // never will exact match<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    if (pos &lt; 0) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      pos = (pos+1) * -1;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      // pos is now insertion point<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    if (pos == kvs.length) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      return -1; // doesn't exist<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    return pos;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>  /**<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * The Cell for the most recent timestamp for a given column.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   *<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * @param family<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * @param qualifier<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   *<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * @return the Cell for the column, or null if no value exists in the row or none have been<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * selected in the query (Get/Scan)<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   */<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  public Cell getColumnLatestCell(byte [] family, byte [] qualifier) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    Cell [] kvs = rawCells(); // side effect possibly.<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    if (kvs == null || kvs.length == 0) {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      return null;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    }<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    int pos = binarySearch(kvs, family, qualifier);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    if (pos == -1) {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return null;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    if (CellUtil.matchingColumn(kvs[pos], family, qualifier)) {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      return kvs[pos];<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    }<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    return null;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * The Cell for the most recent timestamp for a given column.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   *<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * @param family family name<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * @param foffset family offset<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param flength family length<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param qualifier column qualifier<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @param qoffset qualifier offset<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * @param qlength qualifier length<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   *<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   * @return the Cell for the column, or null if no value exists in the row or none have been<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   * selected in the query (Get/Scan)<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  public Cell getColumnLatestCell(byte [] family, int foffset, int flength,<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      byte [] qualifier, int qoffset, int qlength) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    Cell [] kvs = rawCells(); // side effect possibly.<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    if (kvs == null || kvs.length == 0) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      return null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    int pos = binarySearch(kvs, family, foffset, flength, qualifier, qoffset, qlength);<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    if (pos == -1) {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      return null;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    }<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    if (CellUtil.matchingColumn(kvs[pos], family, foffset, flength, qualifier, qoffset, qlength)) {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      return kvs[pos];<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    return null;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  }<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>  /**<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * Get the latest version of the specified column.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Note: this call clones the value content of the hosting Cell. See<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * {@link #getValueAsByteBuffer(byte[], byte[])}, etc., or {@link #listCells()} if you would<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * avoid the cloning.<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * @param family family name<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * @param qualifier column qualifier<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * @return value of latest version of column, null if none found<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   */<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  public byte[] getValue(byte [] family, byte [] qualifier) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    Cell kv = getColumnLatestCell(family, qualifier);<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    if (kv == null) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      return null;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    return CellUtil.cloneValue(kv);<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
+<span class="sourceLineNo">422</span><a name="line.422"></a>
+<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   * Returns the value wrapped in a new &lt;code&gt;ByteBuffer&lt;/code&gt;.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   *<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param family family name<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param qualifier column qualifier<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   *<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * @return the latest version of the column, or &lt;code&gt;null&lt;/code&gt; if none found<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   */<a name="line.430"></a>
+<span class="sourceLineNo">431</span>  public ByteBuffer getValueAsByteBuffer(byte [] family, byte [] qualifier) {<a name="line.431"></a>
 <span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>    if (kv == null) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      return null;<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    return ByteBuffer.wrap(kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()).<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      asReadOnlyBuffer();<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /**<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Returns the value wrapped in a new &lt;code&gt;ByteBuffer&lt;/code&gt;.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   *<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * @param family family name<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * @param foffset family offset<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * @param flength family length<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * @param qualifier column qualifier<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * @param qoffset qualifier offset<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * @param qlength qualifier length<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   *<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * @return the latest version of the column, or &lt;code&gt;null&lt;/code&gt; if none found<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   */<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public ByteBuffer getValueAsByteBuffer(byte [] family, int foffset, int flength,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      byte [] qualifier, int qoffset, int qlength) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>    Cell kv = getColumnLatestCell(family, foffset, flength, qualifier, qoffset, qlength);<a name="line.455"></a>
+<span class="sourceLineNo">433</span>    Cell kv = getColumnLatestCell(family, 0, family.length, qualifier, 0, qualifier.length);<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>    if (kv == null) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      return null;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    return ByteBuffer.wrap(kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()).<a name="line.438"></a>
+<span class="sourceLineNo">439</span>      asReadOnlyBuffer();<a name="line.439"></a>
+<span class="sourceLineNo">440</span>  }<a name="line.440"></a>
+<span class="sourceLineNo">441</span><a name="line.441"></a>
+<span class="sourceLineNo">442</span>  /**<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * Returns the value wrapped in a new &lt;code&gt;ByteBuffer&lt;/code&gt;.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   *<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param family family name<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @param foffset family offset<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @param flength family length<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * @param qualifier column qualifier<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * @param qoffset qualifier offset<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @param qlength qualifier length<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   *<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * @return the latest version of the column, or &lt;code&gt;null&lt;/code&gt; if none found<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  public ByteBuffer getValueAsByteBuffer(byte [] family, int foffset, int flength,<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      byte [] qualifier, int qoffset, int qlength) {<a name="line.455"></a>
 <span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>    if (kv == null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      return null;<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return ByteBuffer.wrap(kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()).<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      asReadOnlyBuffer();<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  }<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>  /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * Loads the latest version of the specified column into the provided &lt;code&gt;ByteBuffer&lt;/code&gt;.<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   * &lt;p&gt;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * Does not clear or flip the buffer.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   *<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param family family name<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * @param qualifier column qualifier<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * @param dst the buffer where to write the value<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   *<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   * @return &lt;code&gt;true&lt;/code&gt; if a value was found, &lt;code&gt;false&lt;/code&gt; otherwise<a name="line.473"></a>
+<span class="sourceLineNo">457</span>    Cell kv = getColumnLatestCell(family, foffset, flength, qualifier, qoffset, qlength);<a name="line.457"></a>
+<span class="sourceLineNo">458</span><a name="line.458"></a>
+<span class="sourceLineNo">459</span>    if (kv == null) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      return null;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    }<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return ByteBuffer.wrap(kv.getValueArray(), kv.getValueOffset(), kv.getValueLength()).<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      asReadOnlyBuffer();<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>  /**<a name="line.466"></a>
+<span class="sourceLineNo">467</span>   * Loads the latest version of the specified column into the provided &lt;code&gt;ByteBuffer&lt;/code&gt;.<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * &lt;p&gt;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   * Does not clear or flip the buffer.<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   *<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * @param family family name<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * @param qualifier column qualifier<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * @param dst the buffer where to write the value<a name="line.473"></a>
 <span class="sourceLineNo">474</span>   *<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * @throws BufferOverflowException there is insufficient space remaining in the buffer<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   */<a name="line.476"></a>
-<span class="sourceLineNo">477</span>  public boolean loadValue(byte [] family, byte [] qualifier, ByteBuffer dst)<a name="line.477"></a>
-<span class="sourceLineNo">478</span>          throws BufferOverflowException {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    return loadValue(family, 0, family.length, qualifier, 0, qualifier.length, dst);<a name="line.479"></a>
-<span class="sourceLineNo">480</span>  }<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * Loads the latest version of the specified column into the provided &lt;code&gt;ByteBuffer&lt;/code&gt;.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * &lt;p&gt;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * Does not clear or flip the buffer.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   *<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @param family family name<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @param foffset family offset<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @param flength family length<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * @param qualifier column qualifier<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * @param qoffset qualifier offset<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * @param qlength qualifier length<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * @param dst the buffer where to write the value<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   *<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * @return &lt;code&gt;true&lt;/code&gt; if a value was found, &lt;code&gt;false&lt;/code&gt; otherwise<a name="line.495"></a>
+<span class="sourceLineNo">475</span>   * @return &lt;code&gt;true&lt;/code&gt; if a value was found, &lt;code&gt;false&lt;/code&gt; otherwise<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   * @throws BufferOverflowException there is insufficient space remaining in the buffer<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   */<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  public boolean loadValue(byte [] family, byte [] qualifier, ByteBuffer dst)<a name="line.479"></a>
+<span class="sourceLineNo">480</span>          throws BufferOverflowException {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    return loadValue(family, 0, family.length, qualifier, 0, qualifier.length, dst);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>  }<a name="line.482"></a>
+<span class="sourceLineNo">483</span><a name="line.483"></a>
+<span class="sourceLineNo">484</span>  /**<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   * Loads the latest version of the specified column into the provided &lt;code&gt;ByteBuffer&lt;/code&gt;.<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * &lt;p&gt;<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   * Does not clear or fl

<TRUNCATED>

[25/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html b/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html
index 16beebf..24b2bd0 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/ConnectionFactory.html
@@ -28,23 +28,23 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.lang.reflect.Constructor;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.concurrent.ExecutorService;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.conf.Configuration;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.security.User;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.ReflectionUtils;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">023</span>import java.util.concurrent.CompletableFuture;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.concurrent.ExecutorService;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.conf.Configuration;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.security.User;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.util.ReflectionUtils;<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> * A non-instantiable class that manages creation of {@link Connection}s.<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * Managing the lifecycle of the {@link Connection}s to the cluster is the responsibility of<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * the caller.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * From a {@link Connection}, {@link Table} implementations are retrieved<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * with {@link Connection#getTable(TableName)}. Example:<a name="line.39"></a>
+<span class="sourceLineNo">035</span> * A non-instantiable class that manages creation of {@link Connection}s. Managing the lifecycle of<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * the {@link Connection}s to the cluster is the responsibility of the caller. From a<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * {@link Connection}, {@link Table} implementations are retrieved with<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * {@link Connection#getTable(org.apache.hadoop.hbase.TableName)}. Example:<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *<a name="line.39"></a>
 <span class="sourceLineNo">040</span> * &lt;pre&gt;<a name="line.40"></a>
 <span class="sourceLineNo">041</span> * Connection connection = ConnectionFactory.createConnection(config);<a name="line.41"></a>
 <span class="sourceLineNo">042</span> * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.42"></a>
@@ -58,243 +58,250 @@
 <span class="sourceLineNo">050</span> *<a name="line.50"></a>
 <span class="sourceLineNo">051</span> * Similarly, {@link Connection} also returns {@link Admin} and {@link RegionLocator}<a name="line.51"></a>
 <span class="sourceLineNo">052</span> * implementations.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * @see Connection<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * @since 0.99.0<a name="line.55"></a>
-<span class="sourceLineNo">056</span> */<a name="line.56"></a>
-<span class="sourceLineNo">057</span>@InterfaceAudience.Public<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@InterfaceStability.Evolving<a name="line.58"></a>
-<span class="sourceLineNo">059</span>public class ConnectionFactory {<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public static final String HBASE_CLIENT_ASYNC_CONNECTION_IMPL =<a name="line.61"></a>
-<span class="sourceLineNo">062</span>      "hbase.client.async.connection.impl";<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /** No public c.tors */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  protected ConnectionFactory() {<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>  /**<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * Create a new Connection instance using default HBaseConfiguration. Connection<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * created from returned connection share zookeeper connection, meta cache, and connections<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * to region servers and masters.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * &lt;br&gt;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * The caller is responsible for calling {@link Connection#close()} on the returned<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * connection instance.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   *<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * Typical usage:<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * &lt;pre&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * Connection connection = ConnectionFactory.createConnection();<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * try {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   *   table.get(...);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   *   ...<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * } finally {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   *   table.close();<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   *   connection.close();<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * &lt;/pre&gt;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   *<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public static Connection createConnection() throws IOException {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    return createConnection(HBaseConfiguration.create(), null, null);<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>  /**<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * created from returned connection share zookeeper connection, meta cache, and connections<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * to region servers and masters.<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * &lt;br&gt;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * The caller is responsible for calling {@link Connection#close()} on the returned<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * connection instance.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   *<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * Typical usage:<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * &lt;pre&gt;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * try {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   *   table.get(...);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   *   ...<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * } finally {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   *   table.close();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   *   connection.close();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * &lt;/pre&gt;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   *<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * @param conf configuration<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public static Connection createConnection(Configuration conf) throws IOException {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return createConnection(conf, null, null);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  /**<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * created from returned connection share zookeeper connection, meta cache, and connections<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * to region servers and masters.<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * &lt;br&gt;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * The caller is responsible for calling {@link Connection#close()} on the returned<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * connection instance.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   *<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * Typical usage:<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * &lt;pre&gt;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * try {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   *   table.get(...);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   *   ...<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   * } finally {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   *   table.close();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   *   connection.close();<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * &lt;/pre&gt;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   *<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * @param conf configuration<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   * @param pool the thread pool to use for batch operations<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   */<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  public static Connection createConnection(Configuration conf, ExecutorService pool)<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      throws IOException {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return createConnection(conf, pool, null);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  /**<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * created from returned connection share zookeeper connection, meta cache, and connections<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * to region servers and masters.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * &lt;br&gt;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * The caller is responsible for calling {@link Connection#close()} on the returned<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * connection instance.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   *<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * Typical usage:<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * &lt;pre&gt;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * try {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   *   table.get(...);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   *   ...<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * } finally {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *   table.close();<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   *   connection.close();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * &lt;/pre&gt;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   *<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * @param conf configuration<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * @param user the user the connection is for<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   */<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  public static Connection createConnection(Configuration conf, User user)<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  throws IOException {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return createConnection(conf, null, user);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   * created from returned connection share zookeeper connection, meta cache, and connections<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   * to region servers and masters.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * &lt;br&gt;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * The caller is responsible for calling {@link Connection#close()} on the returned<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * connection instance.<a name="line.194"></a>
+<span class="sourceLineNo">053</span> * @see Connection<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * @since 0.99.0<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>@InterfaceStability.Evolving<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public class ConnectionFactory {<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final String HBASE_CLIENT_ASYNC_CONNECTION_IMPL = "hbase.client.async.connection.impl";<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  /** No public c.tors */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  protected ConnectionFactory() {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  /**<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * Create a new Connection instance using default HBaseConfiguration. Connection encapsulates all<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   * housekeeping for a connection to the cluster. All tables and interfaces created from returned<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * connection share zookeeper connection, meta cache, and connections to region servers and<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * masters. &lt;br&gt;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * instance. Typical usage:<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   *<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   * &lt;pre&gt;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   * Connection connection = ConnectionFactory.createConnection();<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * try {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   *   table.get(...);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   *   ...<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * } finally {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   *   table.close();<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   *   connection.close();<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * }<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * &lt;/pre&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   *<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   */<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  public static Connection createConnection() throws IOException {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    return createConnection(HBaseConfiguration.create(), null, null);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  }<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>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * region servers and masters. &lt;br&gt;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * instance. Typical usage:<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   *<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * &lt;pre&gt;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * try {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   *   table.get(...);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   *   ...<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * } finally {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   *   table.close();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   *   connection.close();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * }<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * &lt;/pre&gt;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   *<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * @param conf configuration<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public static Connection createConnection(Configuration conf) throws IOException {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return createConnection(conf, null, null);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<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>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * region servers and masters. &lt;br&gt;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * instance. Typical usage:<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   *<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * &lt;pre&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * Table table = connection.getTable(TableName.valueOf("mytable"));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * try {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   *   table.get(...);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   *   ...<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * } finally {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   *   table.close();<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   *   connection.close();<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * }<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * &lt;/pre&gt;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   *<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * @param conf configuration<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * @param pool the thread pool to use for batch operations<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  public static Connection createConnection(Configuration conf, ExecutorService pool)<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    return createConnection(conf, pool, null);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>  /**<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * region servers and masters. &lt;br&gt;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * instance. Typical usage:<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   *<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * &lt;pre&gt;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * try {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   *   table.get(...);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   *   ...<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * } finally {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   *   table.close();<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   *   connection.close();<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * &lt;/pre&gt;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   *<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * @param conf configuration<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   * @param user the user the connection is for<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  public static Connection createConnection(Configuration conf, User user) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    return createConnection(conf, null, user);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>  /**<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * Create a new Connection instance using the passed &lt;code&gt;conf&lt;/code&gt; instance. Connection<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   * encapsulates all housekeeping for a connection to the cluster. All tables and interfaces<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * created from returned connection share zookeeper connection, meta cache, and connections to<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * region servers and masters. &lt;br&gt;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * The caller is responsible for calling {@link Connection#close()} on the returned connection<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * instance. Typical usage:<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * &lt;pre&gt;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * try {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   *   table.get(...);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   *   ...<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * } finally {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   *   table.close();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   *   connection.close();<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * &lt;/pre&gt;<a name="line.194"></a>
 <span class="sourceLineNo">195</span>   *<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * Typical usage:<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * &lt;pre&gt;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   * Connection connection = ConnectionFactory.createConnection(conf);<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * Table table = connection.getTable(TableName.valueOf("table1"));<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   * try {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   *   table.get(...);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   *   ...<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * } finally {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   *   table.close();<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   *   connection.close();<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * &lt;/pre&gt;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   *<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * @param conf configuration<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param user the user the connection is for<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param pool the thread pool to use for batch operations<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public static Connection createConnection(Configuration conf, ExecutorService pool, User user)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    if (user == null) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      UserProvider provider = UserProvider.instantiate(conf);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      user = provider.getCurrent();<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>    String className = conf.get(ClusterConnection.HBASE_CLIENT_CONNECTION_IMPL,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      ConnectionImplementation.class.getName());<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    Class&lt;?&gt; clazz;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    try {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      clazz = Class.forName(className);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    } catch (ClassNotFoundException e) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      throw new IOException(e);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    try {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      // Default HCM#HCI is not accessible; make it so before invoking.<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      Constructor&lt;?&gt; constructor =<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        clazz.getDeclaredConstructor(Configuration.class,<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          ExecutorService.class, User.class);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      constructor.setAccessible(true);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      return (Connection) constructor.newInstance(conf, pool, user);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    } catch (Exception e) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      throw new IOException(e);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  /**<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * Call {@link #createAsyncConnection(Configuration)} using default HBaseConfiguration.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @see #createAsyncConnection(Configuration)<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * @return AsyncConnection object<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  public static AsyncConnection createAsyncConnection() throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    return createAsyncConnection(HBaseConfiguration.create());<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>  /**<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * Call {@link #createAsyncConnection(Configuration, User)} using the given {@code conf} and a<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * User object created by {@link UserProvider}. The given {@code conf} will also be used to<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * initialize the {@link UserProvider}.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param conf configuration<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return AsyncConnection object<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @see #createAsyncConnection(Configuration, User)<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * @see UserProvider<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  public static AsyncConnection createAsyncConnection(Configuration conf) throws IOException {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    return createAsyncConnection(conf, UserProvider.instantiate(conf).getCurrent());<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * Create a new AsyncConnection instance using the passed {@code conf} and {@code user}.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * AsyncConnection encapsulates all housekeeping for a connection to the cluster. All tables and<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * interfaces created from returned connection share zookeeper connection, meta cache, and<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * connections to region servers and masters.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   * &lt;p&gt;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * The caller is responsible for calling {@link AsyncConnection#close()} on the returned<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * connection instance.<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * &lt;p&gt;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Usually you should only create one AsyncConnection instance in your code and use it everywhere<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * as it is thread safe.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * @param conf configuration<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @param user the user the asynchronous connection is for<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * @return AsyncConnection object<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * @throws IOException<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   */<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  public static AsyncConnection createAsyncConnection(Configuration conf, User user)<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      throws IOException {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    Class&lt;? extends AsyncConnection&gt; clazz = conf.getClass(HBASE_CLIENT_ASYNC_CONNECTION_IMPL,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      AsyncConnectionImpl.class, AsyncConnection.class);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    try {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      return ReflectionUtils.newInstance(clazz, conf, user);<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    } catch (Exception e) {<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      throw new IOException(e);<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    }<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">196</span>   * @param conf configuration<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * @param user the user the connection is for<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @param pool the thread pool to use for batch operations<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * @return Connection object for &lt;code&gt;conf&lt;/code&gt;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  public static Connection createConnection(Configuration conf, ExecutorService pool, User user)<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      throws IOException {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    if (user == null) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      UserProvider provider = UserProvider.instantiate(conf);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      user = provider.getCurrent();<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>    String className = conf.get(ClusterConnection.HBASE_CLIENT_CONNECTION_IMPL,<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      ConnectionImplementation.class.getName());<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    Class&lt;?&gt; clazz;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    try {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      clazz = Class.forName(className);<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    } catch (ClassNotFoundException e) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      throw new IOException(e);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    }<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    try {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      // Default HCM#HCI is not accessible; make it so before invoking.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      Constructor&lt;?&gt; constructor = clazz.getDeclaredConstructor(Configuration.class,<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        ExecutorService.class, User.class);<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      constructor.setAccessible(true);<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      return (Connection) constructor.newInstance(conf, pool, user);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    } catch (Exception e) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      throw new IOException(e);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Call {@link #createAsyncConnection(Configuration)} using default HBaseConfiguration.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * @see #createAsyncConnection(Configuration)<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection() {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return createAsyncConnection(HBaseConfiguration.create());<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * Call {@link #createAsyncConnection(Configuration, User)} using the given {@code conf} and a<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * User object created by {@link UserProvider}. The given {@code conf} will also be used to<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * initialize the {@link UserProvider}.<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * @param conf configuration<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * @see #createAsyncConnection(Configuration, User)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @see UserProvider<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection(Configuration conf) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    User user;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    try {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      user = UserProvider.instantiate(conf).getCurrent();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    } catch (IOException e) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      CompletableFuture&lt;AsyncConnection&gt; future = new CompletableFuture&lt;&gt;();<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      future.completeExceptionally(e);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      return future;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return createAsyncConnection(conf, user);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * Create a new AsyncConnection instance using the passed {@code conf} and {@code user}.<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * AsyncConnection encapsulates all housekeeping for a connection to the cluster. All tables and<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * interfaces created from returned connection share zookeeper connection, meta cache, and<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * connections to region servers and masters.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * &lt;p&gt;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * The caller is responsible for calling {@link AsyncConnection#close()} on the returned<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * connection instance.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * &lt;p&gt;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * Usually you should only create one AsyncConnection instance in your code and use it everywhere<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * as it is thread safe.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @param conf configuration<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @param user the user the asynchronous connection is for<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @return AsyncConnection object wrapped by CompletableFuture<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * @throws IOException<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  public static CompletableFuture&lt;AsyncConnection&gt; createAsyncConnection(Configuration conf,<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      User user) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    CompletableFuture&lt;AsyncConnection&gt; future = new CompletableFuture&lt;&gt;();<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    AsyncRegistry registry = AsyncRegistryFactory.getRegistry(conf);<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    registry.getClusterId().whenComplete((clusterId, error) -&gt; {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      if (error != null) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>        future.completeExceptionally(error);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        return;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      if (clusterId == null) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        future.completeExceptionally(new IOException("clusterid came back null"));<a name="line.283"></a>
+<span class="sourceLineNo">284</span>        return;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      }<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      Class&lt;? extends AsyncConnection&gt; clazz = conf.getClass(HBASE_CLIENT_ASYNC_CONNECTION_IMPL,<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        AsyncConnectionImpl.class, AsyncConnection.class);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      try {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        future.complete(ReflectionUtils.newInstance(clazz, conf, registry, clusterId, user));<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      } catch (Exception e) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        future.completeExceptionally(e);<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      }<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    });<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    return future;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html
index 0c7491c..d56453e 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Delete.html
@@ -180,7 +180,7 @@
 <span class="sourceLineNo">172</span>    byte [] family = CellUtil.cloneFamily(kv);<a name="line.172"></a>
 <span class="sourceLineNo">173</span>    List&lt;Cell&gt; list = familyMap.get(family);<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    if (list == null) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      list = new ArrayList&lt;Cell&gt;(1);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>      list = new ArrayList&lt;&gt;(1);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    }<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    list.add(kv);<a name="line.177"></a>
 <span class="sourceLineNo">178</span>    familyMap.put(family, list);<a name="line.178"></a>
@@ -217,7 +217,7 @@
 <span class="sourceLineNo">209</span>    }<a name="line.209"></a>
 <span class="sourceLineNo">210</span>    List&lt;Cell&gt; list = familyMap.get(family);<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    if(list == null) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      list = new ArrayList&lt;Cell&gt;(1);<a name="line.212"></a>
+<span class="sourceLineNo">212</span>      list = new ArrayList&lt;&gt;(1);<a name="line.212"></a>
 <span class="sourceLineNo">213</span>    } else if(!list.isEmpty()) {<a name="line.213"></a>
 <span class="sourceLineNo">214</span>      list.clear();<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    }<a name="line.215"></a>
@@ -237,7 +237,7 @@
 <span class="sourceLineNo">229</span>  public Delete addFamilyVersion(final byte [] family, final long timestamp) {<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    List&lt;Cell&gt; list = familyMap.get(family);<a name="line.230"></a>
 <span class="sourceLineNo">231</span>    if(list == null) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      list = new ArrayList&lt;Cell&gt;(1);<a name="line.232"></a>
+<span class="sourceLineNo">232</span>      list = new ArrayList&lt;&gt;(1);<a name="line.232"></a>
 <span class="sourceLineNo">233</span>    }<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    list.add(new KeyValue(row, family, null, timestamp,<a name="line.234"></a>
 <span class="sourceLineNo">235</span>          KeyValue.Type.DeleteFamilyVersion));<a name="line.235"></a>
@@ -270,7 +270,7 @@
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
 <span class="sourceLineNo">263</span>    List&lt;Cell&gt; list = familyMap.get(family);<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    if (list == null) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      list = new ArrayList&lt;Cell&gt;(1);<a name="line.265"></a>
+<span class="sourceLineNo">265</span>      list = new ArrayList&lt;&gt;(1);<a name="line.265"></a>
 <span class="sourceLineNo">266</span>    }<a name="line.266"></a>
 <span class="sourceLineNo">267</span>    list.add(new KeyValue(this.row, family, qualifier, timestamp,<a name="line.267"></a>
 <span class="sourceLineNo">268</span>        KeyValue.Type.DeleteColumn));<a name="line.268"></a>
@@ -305,7 +305,7 @@
 <span class="sourceLineNo">297</span>    }<a name="line.297"></a>
 <span class="sourceLineNo">298</span>    List&lt;Cell&gt; list = familyMap.get(family);<a name="line.298"></a>
 <span class="sourceLineNo">299</span>    if(list == null) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      list = new ArrayList&lt;Cell&gt;(1);<a name="line.300"></a>
+<span class="sourceLineNo">300</span>      list = new ArrayList&lt;&gt;(1);<a name="line.300"></a>
 <span class="sourceLineNo">301</span>    }<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    KeyValue kv = new KeyValue(this.row, family, qualifier, timestamp, KeyValue.Type.Delete);<a name="line.302"></a>
 <span class="sourceLineNo">303</span>    list.add(kv);<a name="line.303"></a>


[42/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/class-use/Cell.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/Cell.html b/apidocs/org/apache/hadoop/hbase/class-use/Cell.html
index 4f61fb9..fa5c933 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/Cell.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/Cell.html
@@ -1182,25 +1182,25 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="typeNameLabel">Result.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Result.html#create-java.util.List-java.lang.Boolean-boolean-boolean-">create</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists,
       boolean&nbsp;stale,
-      boolean&nbsp;partial)</code>&nbsp;</td>
+      boolean&nbsp;mayHaveMoreCellsInRow)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Append.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Append.html#setFamilyCellMap-java.util.NavigableMap-">setFamilyCellMap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Delete.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Delete.html#setFamilyCellMap-java.util.NavigableMap-">setFamilyCellMap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Mutation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#setFamilyCellMap-java.util.NavigableMap-">setFamilyCellMap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</code>
-<div class="block">Method for setting the put's familyMap</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Append.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Append.html#setFamilyCellMap-java.util.NavigableMap-">setFamilyCellMap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Put.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Put.html#setFamilyCellMap-java.util.NavigableMap-">setFamilyCellMap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Delete.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Delete.html#setFamilyCellMap-java.util.NavigableMap-">setFamilyCellMap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Mutation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#setFamilyCellMap-java.util.NavigableMap-">setFamilyCellMap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</code>
+<div class="block">Method for setting the put's familyMap</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a></code></td>
@@ -1222,66 +1222,66 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FuzzyRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">If the filter returns the match code SEEK_NEXT_USING_HINT, then it should also tell which is
  the next key it must seek to.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FuzzyRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
+<div class="block">Pick the next cell that the scanner should seek to.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
-<div class="block">Pick the next cell that the scanner should seek to.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
+<div class="block">Give the filter a chance to transform the passed KeyValue.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
-<div class="block">Give the filter a chance to transform the passed KeyValue.</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
+<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -1318,139 +1318,139 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FirstKeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PageFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FamilyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SingleColumnValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">QualifierFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PageFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FirstKeyValueMatchingQualifiersFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnCountGetFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnCountGetFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FuzzyRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DependentColumnFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DependentColumnFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InclusiveStopFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FamilyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FirstKeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RandomRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">InclusiveStopFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FuzzyRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SingleColumnValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RandomRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">QualifierFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FirstKeyValueMatchingQualifiersFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">PrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FirstKeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">PageFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SingleColumnValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PageFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -1458,7 +1458,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">InclusiveStopFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>abstract boolean</code></td>
@@ -1472,106 +1472,106 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">FirstKeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">RowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RandomRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">InclusiveStopFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">SingleColumnValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">RandomRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">CompareFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CompareFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FuzzyRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">If the filter returns the match code SEEK_NEXT_USING_HINT, then it should also tell which is
  the next key it must seek to.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FuzzyRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
+<div class="block">Pick the next cell that the scanner should seek to.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
-<div class="block">Pick the next cell that the scanner should seek to.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
+<div class="block">Give the filter a chance to transform the passed KeyValue.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
-<div class="block">Give the filter a chance to transform the passed KeyValue.</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
+<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -1687,11 +1687,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiHFileOutputFormat.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">HFileOutputFormat2.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">HFileOutputFormat2.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiHFileOutputFormat.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html b/apidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html
index 5663df6..134b47a 100644
--- a/apidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html
+++ b/apidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html
@@ -184,6 +184,21 @@
 </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/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return types with arguments of type <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a></span><span class="tabEnd">&nbsp;</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><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getNamespaceDescriptor-java.lang.String-">getNamespaceDescriptor</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Get a namespace descriptor by name</div>
+</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/client/package-summary.html">org.apache.hadoop.hbase.client</a> with parameters of type <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -197,17 +212,29 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">createNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>
+<div class="block">Create a new namespace.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#createNamespaceAsync-org.apache.hadoop.hbase.NamespaceDescriptor-">createNamespaceAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>
 <div class="block">Create a new namespace</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>
 <div class="block">Modify an existing namespace.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>
+<div class="block">Modify an existing namespace.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#modifyNamespaceAsync-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespaceAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;descriptor)</code>


[04/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html b/apidocs/src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html
index 96deb2d..83f9fed 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html
@@ -42,152 +42,143 @@
 <span class="sourceLineNo">034</span>@InterfaceAudience.Public<a name="line.34"></a>
 <span class="sourceLineNo">035</span>@InterfaceStability.Evolving<a name="line.35"></a>
 <span class="sourceLineNo">036</span>public class RSGroupInfo {<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>  public static final String DEFAULT_GROUP = "default";<a name="line.38"></a>
-<span class="sourceLineNo">039</span>  public static final String NAMESPACEDESC_PROP_GROUP = "hbase.rsgroup.name";<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private String name;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  // Keep servers in a sorted set so has an expected ordering when displayed.<a name="line.42"></a>
-<span class="sourceLineNo">043</span>  private SortedSet&lt;Address&gt; servers;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  // Keep tables sorted too.<a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private SortedSet&lt;TableName&gt; tables;<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public RSGroupInfo(String name) {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    this(name, new TreeSet&lt;Address&gt;(), new TreeSet&lt;TableName&gt;());<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  RSGroupInfo(String name, SortedSet&lt;Address&gt; servers, SortedSet&lt;TableName&gt; tables) {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    this.name = name;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    this.servers = servers == null? new TreeSet&lt;Address&gt;(): servers;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    this.servers.addAll(servers);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    this.tables = new TreeSet&lt;&gt;(tables);<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>  public RSGroupInfo(RSGroupInfo src) {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    this(src.getName(), src.servers, src.tables);<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  }<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>   * Get group name.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   *<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @return group name<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public String getName() {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    return name;<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>  /**<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * Adds the server to the group.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   *<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * @param hostPort the server<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   */<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public void addServer(Address hostPort){<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    servers.add(hostPort);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /**<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * Adds a group of servers.<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   *<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * @param hostPort the servers<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  public void addAllServers(Collection&lt;Address&gt; hostPort){<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    servers.addAll(hostPort);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  }<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>   * @param hostPort hostPort of the server<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @return true, if a server with hostPort is found<a name="line.91"></a>
+<span class="sourceLineNo">037</span>  public static final String DEFAULT_GROUP = "default";<a name="line.37"></a>
+<span class="sourceLineNo">038</span>  public static final String NAMESPACE_DESC_PROP_GROUP = "hbase.rsgroup.name";<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>  private final String name;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>  // Keep servers in a sorted set so has an expected ordering when displayed.<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  private final SortedSet&lt;Address&gt; servers;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>  // Keep tables sorted too.<a name="line.43"></a>
+<span class="sourceLineNo">044</span>  private final SortedSet&lt;TableName&gt; tables;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>  public RSGroupInfo(String name) {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    this(name, new TreeSet&lt;Address&gt;(), new TreeSet&lt;TableName&gt;());<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  RSGroupInfo(String name, SortedSet&lt;Address&gt; servers, SortedSet&lt;TableName&gt; tables) {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    this.name = name;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    this.servers = servers == null? new TreeSet&lt;&gt;(): servers;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    this.servers.addAll(servers);<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    this.tables = new TreeSet&lt;&gt;(tables);<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  }<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public RSGroupInfo(RSGroupInfo src) {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    this(src.getName(), src.servers, src.tables);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * Get group name.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public String getName() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    return name;<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>  /**<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * Adds the given server to the group.<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   */<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public void addServer(Address hostPort){<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    servers.add(hostPort);<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">075</span>  /**<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * Adds the given servers to the group.<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public void addAllServers(Collection&lt;Address&gt; hostPort){<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    servers.addAll(hostPort);<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>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @param hostPort hostPort of the server<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * @return true, if a server with hostPort is found<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  public boolean containsServer(Address hostPort) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    return servers.contains(hostPort);<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>
+<span class="sourceLineNo">091</span>   * Get list of servers.<a name="line.91"></a>
 <span class="sourceLineNo">092</span>   */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public boolean containsServer(Address hostPort) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    return servers.contains(hostPort);<a name="line.94"></a>
+<span class="sourceLineNo">093</span>  public Set&lt;Address&gt; getServers() {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    return servers;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>  }<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>   * Get list of servers.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   *<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @return set of servers<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public Set&lt;Address&gt; getServers() {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    return servers;<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>  /**<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * Remove a server from this group.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   *<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @param hostPort HostPort of the server to remove<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public boolean removeServer(Address hostPort) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return servers.remove(hostPort);<a name="line.112"></a>
+<span class="sourceLineNo">098</span>   * Remove given server from the group.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  public boolean removeServer(Address hostPort) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    return servers.remove(hostPort);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * Get set of tables that are members of the group.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public SortedSet&lt;TableName&gt; getTables() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    return tables;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public void addTable(TableName table) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    tables.add(table);<a name="line.112"></a>
 <span class="sourceLineNo">113</span>  }<a name="line.113"></a>
 <span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * Set of tables that are members of this group<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * @return set of tables<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public SortedSet&lt;TableName&gt; getTables() {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return tables;<a name="line.120"></a>
+<span class="sourceLineNo">115</span>  public void addAllTables(Collection&lt;TableName&gt; arg) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    tables.addAll(arg);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  public boolean containsTable(TableName table) {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    return tables.contains(table);<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>  public void addTable(TableName table) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    tables.add(table);<a name="line.124"></a>
+<span class="sourceLineNo">123</span>  public boolean removeTable(TableName table) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return tables.remove(table);<a name="line.124"></a>
 <span class="sourceLineNo">125</span>  }<a name="line.125"></a>
 <span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  public void addAllTables(Collection&lt;TableName&gt; arg) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    tables.addAll(arg);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public boolean containsTable(TableName table) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    return tables.contains(table);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  public boolean removeTable(TableName table) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    return tables.remove(table);<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>
-<span class="sourceLineNo">139</span>  @Override<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public String toString() {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    StringBuffer sb = new StringBuffer();<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    sb.append("Name:");<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    sb.append(this.name);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    sb.append(", ");<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    sb.append(" Servers:");<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    sb.append(this.servers);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    return sb.toString();<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
+<span class="sourceLineNo">127</span>  @Override<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public String toString() {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    StringBuffer sb = new StringBuffer();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    sb.append("Name:");<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    sb.append(this.name);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    sb.append(", ");<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    sb.append(" Servers:");<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    sb.append(this.servers);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    sb.append(", ");<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    sb.append(" Tables:");<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    sb.append(this.tables);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    return sb.toString();<a name="line.138"></a>
+<span class="sourceLineNo">139</span><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>  @Override<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  public boolean equals(Object o) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    if (this == o) {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      return true;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    }<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    if (o == null || getClass() != o.getClass()) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      return false;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
 <span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>  @Override<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public boolean equals(Object o) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    if (this == o) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return true;<a name="line.154"></a>
+<span class="sourceLineNo">151</span>    RSGroupInfo RSGroupInfo = (RSGroupInfo) o;<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if (!name.equals(RSGroupInfo.name)) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return false;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    if (o == null || getClass() != o.getClass()) {<a name="line.156"></a>
+<span class="sourceLineNo">156</span>    if (!servers.equals(RSGroupInfo.servers)) {<a name="line.156"></a>
 <span class="sourceLineNo">157</span>      return false;<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>    RSGroupInfo RSGroupInfo = (RSGroupInfo) o;<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>    if (!name.equals(RSGroupInfo.name)) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      return false;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    }<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    if (!servers.equals(RSGroupInfo.servers)) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      return false;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    if (!tables.equals(RSGroupInfo.tables)) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      return false;<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>    return true;<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>  @Override<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  public int hashCode() {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    int result = servers.hashCode();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    result = 31 * result + tables.hashCode();<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    result = 31 * result + name.hashCode();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return result;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span>}<a name="line.182"></a>
+<span class="sourceLineNo">159</span>    if (!tables.equals(RSGroupInfo.tables)) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      return false;<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>    return true;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public int hashCode() {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    int result = servers.hashCode();<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    result = 31 * result + tables.hashCode();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    result = 31 * result + name.hashCode();<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return result;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/security/User.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/security/User.html b/apidocs/src-html/org/apache/hadoop/hbase/security/User.html
index a332116..53e4465 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/security/User.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/security/User.html
@@ -362,31 +362,30 @@
 <span class="sourceLineNo">354</span>  }<a name="line.354"></a>
 <span class="sourceLineNo">355</span><a name="line.355"></a>
 <span class="sourceLineNo">356</span>  static class TestingGroups extends Groups {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    private final Map&lt;String, List&lt;String&gt;&gt; userToGroupsMapping =<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        new HashMap&lt;String,List&lt;String&gt;&gt;();<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private Groups underlyingImplementation;<a name="line.359"></a>
-<span class="sourceLineNo">360</span><a name="line.360"></a>
-<span class="sourceLineNo">361</span>    TestingGroups(Groups underlyingImplementation) {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      super(new Configuration());<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      this.underlyingImplementation = underlyingImplementation;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>    @Override<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    public List&lt;String&gt; getGroups(String user) throws IOException {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      List&lt;String&gt; result = userToGroupsMapping.get(user);<a name="line.368"></a>
-<span class="sourceLineNo">369</span><a name="line.369"></a>
-<span class="sourceLineNo">370</span>      if (result == null) {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>        result = underlyingImplementation.getGroups(user);<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      }<a name="line.372"></a>
-<span class="sourceLineNo">373</span><a name="line.373"></a>
-<span class="sourceLineNo">374</span>      return result;<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>    private void setUserGroups(String user, String[] groups) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      userToGroupsMapping.put(user, Arrays.asList(groups));<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>}<a name="line.381"></a>
+<span class="sourceLineNo">357</span>    private final Map&lt;String, List&lt;String&gt;&gt; userToGroupsMapping = new HashMap&lt;&gt;();<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    private Groups underlyingImplementation;<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span>    TestingGroups(Groups underlyingImplementation) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      super(new Configuration());<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      this.underlyingImplementation = underlyingImplementation;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    public List&lt;String&gt; getGroups(String user) throws IOException {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      List&lt;String&gt; result = userToGroupsMapping.get(user);<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>      if (result == null) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>        result = underlyingImplementation.getGroups(user);<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>      return result;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span>    private void setUserGroups(String user, String[] groups) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>      userToGroupsMapping.put(user, Arrays.asList(groups));<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
+<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
+<span class="sourceLineNo">380</span>}<a name="line.380"></a>
 
 
 


[50/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index d0b08af..a0c5972 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170217" />
+    <meta name="Date-Revision-yyyymmdd" content="20170321" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -262,9 +262,9 @@
         <div class="container">
           <div id="banner">
         <div class="pull-left">
-                                <div id="bannerLeft">
-                <h2></h2>
-                </div>
+                                    <a href="https://easychair.org/cfp/hbasecon2017" id="bannerLeft">
+                                                                                                <img src="images/hbasecon2017.png"  alt="HBaseCon2017"/>
+                </a>
                       </div>
         <div class="pull-right">                                <a href="./" id="bannerRight">
                                                                                                 <img src="images/hbase_logo_with_orca_large.png"  alt="Apache HBase"/>
@@ -618,7 +618,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-02-17</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-03-21</li>
             </p>
                 </div>
 


[13/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.Context.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.Context.html b/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.Context.html
index 3e217b2..99a73b9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.Context.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.Context.html
@@ -541,56 +541,55 @@
 <span class="sourceLineNo">533</span>    }<a name="line.533"></a>
 <span class="sourceLineNo">534</span>  }<a name="line.534"></a>
 <span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span>  static final Map&lt;Pair&lt;String,String&gt;,KeyProvider&gt; keyProviderCache =<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      new ConcurrentHashMap&lt;Pair&lt;String,String&gt;,KeyProvider&gt;();<a name="line.537"></a>
-<span class="sourceLineNo">538</span><a name="line.538"></a>
-<span class="sourceLineNo">539</span>  public static KeyProvider getKeyProvider(Configuration conf) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    String providerClassName = conf.get(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      KeyStoreKeyProvider.class.getName());<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    String providerParameters = conf.get(HConstants.CRYPTO_KEYPROVIDER_PARAMETERS_KEY, "");<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    try {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      Pair&lt;String,String&gt; providerCacheKey = new Pair&lt;String,String&gt;(providerClassName,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>        providerParameters);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      KeyProvider provider = keyProviderCache.get(providerCacheKey);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      if (provider != null) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>        return provider;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      provider = (KeyProvider) ReflectionUtils.newInstance(<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        getClassLoaderForClass(KeyProvider.class).loadClass(providerClassName),<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        conf);<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      provider.init(providerParameters);<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        LOG.debug("Installed " + providerClassName + " into key provider cache");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      keyProviderCache.put(providerCacheKey, provider);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return provider;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    } catch (Exception e) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throw new RuntimeException(e);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  public static void incrementIv(byte[] iv) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    incrementIv(iv, 1);<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  public static void incrementIv(byte[] iv, int v) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    int length = iv.length;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    boolean carry = true;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    // TODO: Optimize for v &gt; 1, e.g. 16, 32<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    do {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      for (int i = 0; i &lt; length; i++) {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        if (carry) {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>          iv[i] = (byte) ((iv[i] + 1) &amp; 0xFF);<a name="line.575"></a>
-<span class="sourceLineNo">576</span>          carry = 0 == iv[i];<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        } else {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          break;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        }<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      v--;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    } while (v &gt; 0);<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>}<a name="line.585"></a>
+<span class="sourceLineNo">536</span>  static final Map&lt;Pair&lt;String,String&gt;,KeyProvider&gt; keyProviderCache = new ConcurrentHashMap&lt;&gt;();<a name="line.536"></a>
+<span class="sourceLineNo">537</span><a name="line.537"></a>
+<span class="sourceLineNo">538</span>  public static KeyProvider getKeyProvider(Configuration conf) {<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    String providerClassName = conf.get(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,<a name="line.539"></a>
+<span class="sourceLineNo">540</span>      KeyStoreKeyProvider.class.getName());<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    String providerParameters = conf.get(HConstants.CRYPTO_KEYPROVIDER_PARAMETERS_KEY, "");<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    try {<a name="line.542"></a>
+<span class="sourceLineNo">543</span>      Pair&lt;String,String&gt; providerCacheKey = new Pair&lt;&gt;(providerClassName,<a name="line.543"></a>
+<span class="sourceLineNo">544</span>        providerParameters);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>      KeyProvider provider = keyProviderCache.get(providerCacheKey);<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      if (provider != null) {<a name="line.546"></a>
+<span class="sourceLineNo">547</span>        return provider;<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      }<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      provider = (KeyProvider) ReflectionUtils.newInstance(<a name="line.549"></a>
+<span class="sourceLineNo">550</span>        getClassLoaderForClass(KeyProvider.class).loadClass(providerClassName),<a name="line.550"></a>
+<span class="sourceLineNo">551</span>        conf);<a name="line.551"></a>
+<span class="sourceLineNo">552</span>      provider.init(providerParameters);<a name="line.552"></a>
+<span class="sourceLineNo">553</span>      if (LOG.isDebugEnabled()) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span>        LOG.debug("Installed " + providerClassName + " into key provider cache");<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      }<a name="line.555"></a>
+<span class="sourceLineNo">556</span>      keyProviderCache.put(providerCacheKey, provider);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>      return provider;<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    } catch (Exception e) {<a name="line.558"></a>
+<span class="sourceLineNo">559</span>      throw new RuntimeException(e);<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    }<a name="line.560"></a>
+<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
+<span class="sourceLineNo">562</span><a name="line.562"></a>
+<span class="sourceLineNo">563</span>  public static void incrementIv(byte[] iv) {<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    incrementIv(iv, 1);<a name="line.564"></a>
+<span class="sourceLineNo">565</span>  }<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span>  public static void incrementIv(byte[] iv, int v) {<a name="line.567"></a>
+<span class="sourceLineNo">568</span>    int length = iv.length;<a name="line.568"></a>
+<span class="sourceLineNo">569</span>    boolean carry = true;<a name="line.569"></a>
+<span class="sourceLineNo">570</span>    // TODO: Optimize for v &gt; 1, e.g. 16, 32<a name="line.570"></a>
+<span class="sourceLineNo">571</span>    do {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      for (int i = 0; i &lt; length; i++) {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>        if (carry) {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>          iv[i] = (byte) ((iv[i] + 1) &amp; 0xFF);<a name="line.574"></a>
+<span class="sourceLineNo">575</span>          carry = 0 == iv[i];<a name="line.575"></a>
+<span class="sourceLineNo">576</span>        } else {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>          break;<a name="line.577"></a>
+<span class="sourceLineNo">578</span>        }<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      }<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      v--;<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    } while (v &gt; 0);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>  }<a name="line.582"></a>
+<span class="sourceLineNo">583</span><a name="line.583"></a>
+<span class="sourceLineNo">584</span>}<a name="line.584"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html b/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html
index 3e217b2..99a73b9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html
@@ -541,56 +541,55 @@
 <span class="sourceLineNo">533</span>    }<a name="line.533"></a>
 <span class="sourceLineNo">534</span>  }<a name="line.534"></a>
 <span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span>  static final Map&lt;Pair&lt;String,String&gt;,KeyProvider&gt; keyProviderCache =<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      new ConcurrentHashMap&lt;Pair&lt;String,String&gt;,KeyProvider&gt;();<a name="line.537"></a>
-<span class="sourceLineNo">538</span><a name="line.538"></a>
-<span class="sourceLineNo">539</span>  public static KeyProvider getKeyProvider(Configuration conf) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    String providerClassName = conf.get(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      KeyStoreKeyProvider.class.getName());<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    String providerParameters = conf.get(HConstants.CRYPTO_KEYPROVIDER_PARAMETERS_KEY, "");<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    try {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      Pair&lt;String,String&gt; providerCacheKey = new Pair&lt;String,String&gt;(providerClassName,<a name="line.544"></a>
-<span class="sourceLineNo">545</span>        providerParameters);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      KeyProvider provider = keyProviderCache.get(providerCacheKey);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      if (provider != null) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>        return provider;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      provider = (KeyProvider) ReflectionUtils.newInstance(<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        getClassLoaderForClass(KeyProvider.class).loadClass(providerClassName),<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        conf);<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      provider.init(providerParameters);<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      if (LOG.isDebugEnabled()) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        LOG.debug("Installed " + providerClassName + " into key provider cache");<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      keyProviderCache.put(providerCacheKey, provider);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      return provider;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    } catch (Exception e) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throw new RuntimeException(e);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  public static void incrementIv(byte[] iv) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    incrementIv(iv, 1);<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>  public static void incrementIv(byte[] iv, int v) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    int length = iv.length;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    boolean carry = true;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    // TODO: Optimize for v &gt; 1, e.g. 16, 32<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    do {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      for (int i = 0; i &lt; length; i++) {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        if (carry) {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>          iv[i] = (byte) ((iv[i] + 1) &amp; 0xFF);<a name="line.575"></a>
-<span class="sourceLineNo">576</span>          carry = 0 == iv[i];<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        } else {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          break;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        }<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      v--;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    } while (v &gt; 0);<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>}<a name="line.585"></a>
+<span class="sourceLineNo">536</span>  static final Map&lt;Pair&lt;String,String&gt;,KeyProvider&gt; keyProviderCache = new ConcurrentHashMap&lt;&gt;();<a name="line.536"></a>
+<span class="sourceLineNo">537</span><a name="line.537"></a>
+<span class="sourceLineNo">538</span>  public static KeyProvider getKeyProvider(Configuration conf) {<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    String providerClassName = conf.get(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,<a name="line.539"></a>
+<span class="sourceLineNo">540</span>      KeyStoreKeyProvider.class.getName());<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    String providerParameters = conf.get(HConstants.CRYPTO_KEYPROVIDER_PARAMETERS_KEY, "");<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    try {<a name="line.542"></a>
+<span class="sourceLineNo">543</span>      Pair&lt;String,String&gt; providerCacheKey = new Pair&lt;&gt;(providerClassName,<a name="line.543"></a>
+<span class="sourceLineNo">544</span>        providerParameters);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>      KeyProvider provider = keyProviderCache.get(providerCacheKey);<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      if (provider != null) {<a name="line.546"></a>
+<span class="sourceLineNo">547</span>        return provider;<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      }<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      provider = (KeyProvider) ReflectionUtils.newInstance(<a name="line.549"></a>
+<span class="sourceLineNo">550</span>        getClassLoaderForClass(KeyProvider.class).loadClass(providerClassName),<a name="line.550"></a>
+<span class="sourceLineNo">551</span>        conf);<a name="line.551"></a>
+<span class="sourceLineNo">552</span>      provider.init(providerParameters);<a name="line.552"></a>
+<span class="sourceLineNo">553</span>      if (LOG.isDebugEnabled()) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span>        LOG.debug("Installed " + providerClassName + " into key provider cache");<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      }<a name="line.555"></a>
+<span class="sourceLineNo">556</span>      keyProviderCache.put(providerCacheKey, provider);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>      return provider;<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    } catch (Exception e) {<a name="line.558"></a>
+<span class="sourceLineNo">559</span>      throw new RuntimeException(e);<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    }<a name="line.560"></a>
+<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
+<span class="sourceLineNo">562</span><a name="line.562"></a>
+<span class="sourceLineNo">563</span>  public static void incrementIv(byte[] iv) {<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    incrementIv(iv, 1);<a name="line.564"></a>
+<span class="sourceLineNo">565</span>  }<a name="line.565"></a>
+<span class="sourceLineNo">566</span><a name="line.566"></a>
+<span class="sourceLineNo">567</span>  public static void incrementIv(byte[] iv, int v) {<a name="line.567"></a>
+<span class="sourceLineNo">568</span>    int length = iv.length;<a name="line.568"></a>
+<span class="sourceLineNo">569</span>    boolean carry = true;<a name="line.569"></a>
+<span class="sourceLineNo">570</span>    // TODO: Optimize for v &gt; 1, e.g. 16, 32<a name="line.570"></a>
+<span class="sourceLineNo">571</span>    do {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      for (int i = 0; i &lt; length; i++) {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>        if (carry) {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>          iv[i] = (byte) ((iv[i] + 1) &amp; 0xFF);<a name="line.574"></a>
+<span class="sourceLineNo">575</span>          carry = 0 == iv[i];<a name="line.575"></a>
+<span class="sourceLineNo">576</span>        } else {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>          break;<a name="line.577"></a>
+<span class="sourceLineNo">578</span>        }<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      }<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      v--;<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    } while (v &gt; 0);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>  }<a name="line.582"></a>
+<span class="sourceLineNo">583</span><a name="line.583"></a>
+<span class="sourceLineNo">584</span>}<a name="line.584"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapred/GroupingTableMap.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapred/GroupingTableMap.html b/apidocs/src-html/org/apache/hadoop/hbase/mapred/GroupingTableMap.html
index 12f1033..28e4d74 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapred/GroupingTableMap.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapred/GroupingTableMap.html
@@ -124,7 +124,7 @@
 <span class="sourceLineNo">116</span>   */<a name="line.116"></a>
 <span class="sourceLineNo">117</span>  protected byte[][] extractKeyValues(Result r) {<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    byte[][] keyVals = null;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    ArrayList&lt;byte[]&gt; foundList = new ArrayList&lt;byte[]&gt;();<a name="line.119"></a>
+<span class="sourceLineNo">119</span>    ArrayList&lt;byte[]&gt; foundList = new ArrayList&lt;&gt;();<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    int numCols = columns.length;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    if (numCols &gt; 0) {<a name="line.121"></a>
 <span class="sourceLineNo">122</span>      for (Cell value: r.listCells()) {<a name="line.122"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CopyTable.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CopyTable.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CopyTable.html
index fa09065..9ee386f 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CopyTable.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/CopyTable.html
@@ -128,7 +128,7 @@
 <span class="sourceLineNo">120</span><a name="line.120"></a>
 <span class="sourceLineNo">121</span>    if(families != null) {<a name="line.121"></a>
 <span class="sourceLineNo">122</span>      String[] fams = families.split(",");<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      Map&lt;String,String&gt; cfRenameMap = new HashMap&lt;String,String&gt;();<a name="line.123"></a>
+<span class="sourceLineNo">123</span>      Map&lt;String,String&gt; cfRenameMap = new HashMap&lt;&gt;();<a name="line.123"></a>
 <span class="sourceLineNo">124</span>      for(String fam : fams) {<a name="line.124"></a>
 <span class="sourceLineNo">125</span>        String sourceCf;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>        if(fam.contains(":")) {<a name="line.126"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.html
index b4e55dd..9c96a34 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.html
@@ -114,7 +114,7 @@
 <span class="sourceLineNo">106</span>   */<a name="line.106"></a>
 <span class="sourceLineNo">107</span>  protected byte[][] extractKeyValues(Result r) {<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    byte[][] keyVals = null;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    ArrayList&lt;byte[]&gt; foundList = new ArrayList&lt;byte[]&gt;();<a name="line.109"></a>
+<span class="sourceLineNo">109</span>    ArrayList&lt;byte[]&gt; foundList = new ArrayList&lt;&gt;();<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    int numCols = columns.length;<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    if (numCols &gt; 0) {<a name="line.111"></a>
 <span class="sourceLineNo">112</span>      for (Cell value: r.listCells()) {<a name="line.112"></a>


[28/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/ChoreService.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/ChoreService.html b/apidocs/src-html/org/apache/hadoop/hbase/ChoreService.html
index 568793e..63ebc7f 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/ChoreService.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/ChoreService.html
@@ -142,8 +142,8 @@
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
 <span class="sourceLineNo">135</span><a name="line.135"></a>
 <span class="sourceLineNo">136</span>    scheduler.setRemoveOnCancelPolicy(true);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    scheduledChores = new HashMap&lt;ScheduledChore, ScheduledFuture&lt;?&gt;&gt;();<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    choresMissingStartTime = new HashMap&lt;ScheduledChore, Boolean&gt;();<a name="line.138"></a>
+<span class="sourceLineNo">137</span>    scheduledChores = new HashMap&lt;&gt;();<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    choresMissingStartTime = new HashMap&lt;&gt;();<a name="line.138"></a>
 <span class="sourceLineNo">139</span>  }<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>
@@ -356,7 +356,7 @@
 <span class="sourceLineNo">348</span>  }<a name="line.348"></a>
 <span class="sourceLineNo">349</span><a name="line.349"></a>
 <span class="sourceLineNo">350</span>  private void cancelAllChores(final boolean mayInterruptIfRunning) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    ArrayList&lt;ScheduledChore&gt; choresToCancel = new ArrayList&lt;ScheduledChore&gt;(scheduledChores.keySet().size());<a name="line.351"></a>
+<span class="sourceLineNo">351</span>    ArrayList&lt;ScheduledChore&gt; choresToCancel = new ArrayList&lt;&gt;(scheduledChores.keySet().size());<a name="line.351"></a>
 <span class="sourceLineNo">352</span>    // Build list of chores to cancel so we can iterate through a set that won't change<a name="line.352"></a>
 <span class="sourceLineNo">353</span>    // as chores are cancelled. If we tried to cancel each chore while iterating through<a name="line.353"></a>
 <span class="sourceLineNo">354</span>    // keySet the results would be undefined because the keySet would be changing<a name="line.354"></a>
@@ -373,7 +373,7 @@
 <span class="sourceLineNo">365</span>   * Prints a summary of important details about the chore. Used for debugging purposes<a name="line.365"></a>
 <span class="sourceLineNo">366</span>   */<a name="line.366"></a>
 <span class="sourceLineNo">367</span>  private void printChoreDetails(final String header, ScheduledChore chore) {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    LinkedHashMap&lt;String, String&gt; output = new LinkedHashMap&lt;String, String&gt;();<a name="line.368"></a>
+<span class="sourceLineNo">368</span>    LinkedHashMap&lt;String, String&gt; output = new LinkedHashMap&lt;&gt;();<a name="line.368"></a>
 <span class="sourceLineNo">369</span>    output.put(header, "");<a name="line.369"></a>
 <span class="sourceLineNo">370</span>    output.put("Chore name: ", chore.getName());<a name="line.370"></a>
 <span class="sourceLineNo">371</span>    output.put("Chore period: ", Integer.toString(chore.getPeriod()));<a name="line.371"></a>
@@ -388,7 +388,7 @@
 <span class="sourceLineNo">380</span>   * Prints a summary of important details about the service. Used for debugging purposes<a name="line.380"></a>
 <span class="sourceLineNo">381</span>   */<a name="line.381"></a>
 <span class="sourceLineNo">382</span>  private void printChoreServiceDetails(final String header) {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    LinkedHashMap&lt;String, String&gt; output = new LinkedHashMap&lt;String, String&gt;();<a name="line.383"></a>
+<span class="sourceLineNo">383</span>    LinkedHashMap&lt;String, String&gt; output = new LinkedHashMap&lt;&gt;();<a name="line.383"></a>
 <span class="sourceLineNo">384</span>    output.put(header, "");<a name="line.384"></a>
 <span class="sourceLineNo">385</span>    output.put("ChoreService corePoolSize: ", Integer.toString(getCorePoolSize()));<a name="line.385"></a>
 <span class="sourceLineNo">386</span>    output.put("ChoreService scheduledChores: ", Integer.toString(getNumberOfScheduledChores()));<a name="line.386"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html b/apidocs/src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html
index 3044d47..2fae44e 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html
@@ -43,17 +43,19 @@
 <span class="sourceLineNo">035</span>  public static final String COPROC = "Coprocesssor";<a name="line.35"></a>
 <span class="sourceLineNo">036</span>  public static final String REPLICATION = "Replication";<a name="line.36"></a>
 <span class="sourceLineNo">037</span>  public static final String PHOENIX = "Phoenix";<a name="line.37"></a>
-<span class="sourceLineNo">038</span>  /**<a name="line.38"></a>
-<span class="sourceLineNo">039</span>   * Denotes class names that appear in user facing configuration files.<a name="line.39"></a>
-<span class="sourceLineNo">040</span>   */<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  public static final String CONFIG = "Configuration";<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  /**<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   * Denotes classes used as tools (Used from cmd line). Usually, the compatibility is required<a name="line.44"></a>
-<span class="sourceLineNo">045</span>   * for class name, and arguments.<a name="line.45"></a>
-<span class="sourceLineNo">046</span>   */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public static final String TOOLS = "Tools";<a name="line.47"></a>
-<span class="sourceLineNo">048</span>}<a name="line.48"></a>
+<span class="sourceLineNo">038</span>  public static final String SPARK = "Spark";<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>  /**<a name="line.40"></a>
+<span class="sourceLineNo">041</span>   * Denotes class names that appear in user facing configuration files.<a name="line.41"></a>
+<span class="sourceLineNo">042</span>   */<a name="line.42"></a>
+<span class="sourceLineNo">043</span>  public static final String CONFIG = "Configuration";<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>  /**<a name="line.45"></a>
+<span class="sourceLineNo">046</span>   * Denotes classes used as tools (Used from cmd line). Usually, the compatibility is required<a name="line.46"></a>
+<span class="sourceLineNo">047</span>   * for class name, and arguments.<a name="line.47"></a>
+<span class="sourceLineNo">048</span>   */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public static final String TOOLS = "Tools";<a name="line.49"></a>
+<span class="sourceLineNo">050</span>}<a name="line.50"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/HColumnDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/HColumnDescriptor.html b/apidocs/src-html/org/apache/hadoop/hbase/HColumnDescriptor.html
index 791cb88..a881d8a 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/HColumnDescriptor.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/HColumnDescriptor.html
@@ -111,202 +111,202 @@
 <span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
 <span class="sourceLineNo">104</span>   * Size of storefile/hfile 'blocks'.  Default is {@link #DEFAULT_BLOCKSIZE}.<a name="line.104"></a>
 <span class="sourceLineNo">105</span>   * Use smaller block sizes for faster random-access at expense of larger<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * indices (more memory consumption).<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public static final String BLOCKSIZE = "BLOCKSIZE";<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public static final String LENGTH = "LENGTH";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public static final String TTL = "TTL";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  public static final String BLOOMFILTER = "BLOOMFILTER";<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public static final String FOREVER = "FOREVER";<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public static final String REPLICATION_SCOPE = "REPLICATION_SCOPE";<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public static final byte[] REPLICATION_SCOPE_BYTES = Bytes.toBytes(REPLICATION_SCOPE);<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static final String MIN_VERSIONS = "MIN_VERSIONS";<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /**<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * Retain all cells across flushes and compactions even if they fall behind<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * a delete tombstone. To see all retained cells, do a 'raw' scan; see<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * Scan#setRaw or pass RAW =&amp;gt; true attribute in the shell.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  public static final String KEEP_DELETED_CELLS = "KEEP_DELETED_CELLS";<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  public static final String COMPRESS_TAGS = "COMPRESS_TAGS";<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public static final String ENCRYPTION = "ENCRYPTION";<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public static final String ENCRYPTION_KEY = "ENCRYPTION_KEY";<a name="line.126"></a>
+<span class="sourceLineNo">106</span>   * indices (more memory consumption). Note that this is a soft limit and that<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * blocks have overhead (metadata, CRCs) so blocks will tend to be the size<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * specified here and then some; i.e. don't expect that setting BLOCKSIZE=4k<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * means hbase data will align with an SSDs 4k page accesses (TODO).<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public static final String BLOCKSIZE = "BLOCKSIZE";<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public static final String LENGTH = "LENGTH";<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public static final String TTL = "TTL";<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public static final String BLOOMFILTER = "BLOOMFILTER";<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  public static final String FOREVER = "FOREVER";<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static final String REPLICATION_SCOPE = "REPLICATION_SCOPE";<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public static final byte[] REPLICATION_SCOPE_BYTES = Bytes.toBytes(REPLICATION_SCOPE);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  public static final String MIN_VERSIONS = "MIN_VERSIONS";<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  /**<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * Retain all cells across flushes and compactions even if they fall behind<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * a delete tombstone. To see all retained cells, do a 'raw' scan; see<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * Scan#setRaw or pass RAW =&amp;gt; true attribute in the shell.<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public static final String KEEP_DELETED_CELLS = "KEEP_DELETED_CELLS";<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public static final String COMPRESS_TAGS = "COMPRESS_TAGS";<a name="line.126"></a>
 <span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  public static final String IS_MOB = "IS_MOB";<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  public static final byte[] IS_MOB_BYTES = Bytes.toBytes(IS_MOB);<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public static final String MOB_THRESHOLD = "MOB_THRESHOLD";<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public static final byte[] MOB_THRESHOLD_BYTES = Bytes.toBytes(MOB_THRESHOLD);<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  public static final long DEFAULT_MOB_THRESHOLD = 100 * 1024; // 100k<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public static final String MOB_COMPACT_PARTITION_POLICY = "MOB_COMPACT_PARTITION_POLICY";<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  public static final byte[] MOB_COMPACT_PARTITION_POLICY_BYTES =<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      Bytes.toBytes(MOB_COMPACT_PARTITION_POLICY);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  public static final MobCompactPartitionPolicy DEFAULT_MOB_COMPACT_PARTITION_POLICY =<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      MobCompactPartitionPolicy.DAILY;<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span>  public static final String DFS_REPLICATION = "DFS_REPLICATION";<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public static final short DEFAULT_DFS_REPLICATION = 0;<a name="line.140"></a>
+<span class="sourceLineNo">128</span>  public static final String ENCRYPTION = "ENCRYPTION";<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  public static final String ENCRYPTION_KEY = "ENCRYPTION_KEY";<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public static final String IS_MOB = "IS_MOB";<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public static final byte[] IS_MOB_BYTES = Bytes.toBytes(IS_MOB);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  public static final String MOB_THRESHOLD = "MOB_THRESHOLD";<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  public static final byte[] MOB_THRESHOLD_BYTES = Bytes.toBytes(MOB_THRESHOLD);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  public static final long DEFAULT_MOB_THRESHOLD = 100 * 1024; // 100k<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  public static final String MOB_COMPACT_PARTITION_POLICY = "MOB_COMPACT_PARTITION_POLICY";<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public static final byte[] MOB_COMPACT_PARTITION_POLICY_BYTES =<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      Bytes.toBytes(MOB_COMPACT_PARTITION_POLICY);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  public static final MobCompactPartitionPolicy DEFAULT_MOB_COMPACT_PARTITION_POLICY =<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      MobCompactPartitionPolicy.DAILY;<a name="line.140"></a>
 <span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String STORAGE_POLICY = "STORAGE_POLICY";<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Default compression type.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  public static final String DEFAULT_COMPRESSION =<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    Compression.Algorithm.NONE.getName();<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Default value of the flag that enables data block encoding on disk, as<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * opposed to encoding in cache only. We encode blocks everywhere by default,<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * as long as {@link #DATA_BLOCK_ENCODING} is not NONE.<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public static final boolean DEFAULT_ENCODE_ON_DISK = true;<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  /** Default data block encoding algorithm. */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  public static final String DEFAULT_DATA_BLOCK_ENCODING =<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      DataBlockEncoding.NONE.toString();<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * Default number of versions of a record to keep.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public static final int DEFAULT_VERSIONS = HBaseConfiguration.create().getInt(<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      "hbase.column.max.version", 1);<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>   * Default is not to keep a minimum of versions.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   */<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public static final int DEFAULT_MIN_VERSIONS = 0;<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>  /*<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   * Cache here the HCD value.<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * Question: its OK to cache since when we're reenable, we create a new HCD?<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   */<a name="line.175"></a>
-<span class="sourceLineNo">176</span>  private volatile Integer blocksize = null;<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>  /**<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * Default setting for whether to try and serve this column family from memory or not.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public static final boolean DEFAULT_IN_MEMORY = false;<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>   * Default setting for preventing deleted from being collected immediately.<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  public static final KeepDeletedCells DEFAULT_KEEP_DELETED = KeepDeletedCells.FALSE;<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /**<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   * Default setting for whether to use a block cache or not.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  public static final boolean DEFAULT_BLOCKCACHE = true;<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>   * Default setting for whether to cache data blocks on write if block caching<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * is enabled.<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  public static final boolean DEFAULT_CACHE_DATA_ON_WRITE = false;<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  /**<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   * Default setting for whether to cache data blocks in L1 tier.  Only makes sense if more than<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * one tier in operations: i.e. if we have an L1 and a L2.  This will be the cases if we are<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * using BucketCache.<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   */<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  public static final boolean DEFAULT_CACHE_DATA_IN_L1 = false;<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>   * Default setting for whether to cache index blocks on write if block<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * caching is enabled.<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  public static final boolean DEFAULT_CACHE_INDEX_ON_WRITE = false;<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>   * Default size of blocks in files stored to the filesytem (hfiles).<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  public static final int DEFAULT_BLOCKSIZE = HConstants.DEFAULT_BLOCKSIZE;<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>  /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   * Default setting for whether or not to use bloomfilters.<a name="line.218"></a>
-<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  public static final String DEFAULT_BLOOMFILTER = BloomType.ROW.toString();<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Default setting for whether to cache bloom filter blocks on write if block<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * caching is enabled.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public static final boolean DEFAULT_CACHE_BLOOMS_ON_WRITE = false;<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  /**<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   * Default time to live of cell contents.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public static final int DEFAULT_TTL = HConstants.FOREVER;<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * Default scope.<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  public static final int DEFAULT_REPLICATION_SCOPE = HConstants.REPLICATION_SCOPE_LOCAL;<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>   * Default setting for whether to evict cached blocks from the blockcache on<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * close.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public static final boolean DEFAULT_EVICT_BLOCKS_ON_CLOSE = false;<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>   * Default compress tags along with any type of DataBlockEncoding.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  public static final boolean DEFAULT_COMPRESS_TAGS = true;<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>   * Default setting for whether to prefetch blocks into the blockcache on open.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   */<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  public static final boolean DEFAULT_PREFETCH_BLOCKS_ON_OPEN = false;<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private final static Map&lt;String, String&gt; DEFAULT_VALUES<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    = new HashMap&lt;String, String&gt;();<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  private final static Set&lt;Bytes&gt; RESERVED_KEYWORDS<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      = new HashSet&lt;Bytes&gt;();<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  static {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    DEFAULT_VALUES.put(BLOOMFILTER, DEFAULT_BLOOMFILTER);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    DEFAULT_VALUES.put(REPLICATION_SCOPE, String.valueOf(DEFAULT_REPLICATION_SCOPE));<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    DEFAULT_VALUES.put(HConstants.VERSIONS, String.valueOf(DEFAULT_VERSIONS));<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    DEFAULT_VALUES.put(MIN_VERSIONS, String.valueOf(DEFAULT_MIN_VERSIONS));<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    DEFAULT_VALUES.put(COMPRESSION, DEFAULT_COMPRESSION);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    DEFAULT_VALUES.put(TTL, String.valueOf(DEFAULT_TTL));<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    DEFAULT_VALUES.put(BLOCKSIZE, String.valueOf(DEFAULT_BLOCKSIZE));<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    DEFAULT_VALUES.put(HConstants.IN_MEMORY, String.valueOf(DEFAULT_IN_MEMORY));<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    DEFAULT_VALUES.put(BLOCKCACHE, String.valueOf(DEFAULT_BLOCKCACHE));<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    DEFAULT_VALUES.put(KEEP_DELETED_CELLS, String.valueOf(DEFAULT_KEEP_DELETED));<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    DEFAULT_VALUES.put(DATA_BLOCK_ENCODING, String.valueOf(DEFAULT_DATA_BLOCK_ENCODING));<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    DEFAULT_VALUES.put(CACHE_DATA_ON_WRITE, String.valueOf(DEFAULT_CACHE_DATA_ON_WRITE));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    DEFAULT_VALUES.put(CACHE_DATA_IN_L1, String.valueOf(DEFAULT_CACHE_DATA_IN_L1));<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    DEFAULT_VALUES.put(CACHE_INDEX_ON_WRITE, String.valueOf(DEFAULT_CACHE_INDEX_ON_WRITE));<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    DEFAULT_VALUES.put(CACHE_BLOOMS_ON_WRITE, String.valueOf(DEFAULT_CACHE_BLOOMS_ON_WRITE));<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    DEFAULT_VALUES.put(EVICT_BLOCKS_ON_CLOSE, String.valueOf(DEFAULT_EVICT_BLOCKS_ON_CLOSE));<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    DEFAULT_VALUES.put(PREFETCH_BLOCKS_ON_OPEN, String.valueOf(DEFAULT_PREFETCH_BLOCKS_ON_OPEN));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    for (String s : DEFAULT_VALUES.keySet()) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(s)));<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(ENCRYPTION)));<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(ENCRYPTION_KEY)));<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    RESERVED_KEYWORDS.add(new Bytes(IS_MOB_BYTES));<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    RESERVED_KEYWORDS.add(new Bytes(MOB_THRESHOLD_BYTES));<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    RESERVED_KEYWORDS.add(new Bytes(MOB_COMPACT_PARTITION_POLICY_BYTES));<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private static final int UNINITIALIZED = -1;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  // Column family name<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private byte [] name;<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Column metadata<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  private final Map&lt;Bytes, Bytes&gt; values =<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      new HashMap&lt;Bytes, Bytes&gt;();<a name="line.294"></a>
+<span class="sourceLineNo">142</span>  public static final String DFS_REPLICATION = "DFS_REPLICATION";<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  public static final short DEFAULT_DFS_REPLICATION = 0;<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>  public static final String STORAGE_POLICY = "STORAGE_POLICY";<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  /**<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * Default compression type.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public static final String DEFAULT_COMPRESSION =<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    Compression.Algorithm.NONE.getName();<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * Default value of the flag that enables data block encoding on disk, as<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * opposed to encoding in cache only. We encode blocks everywhere by default,<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * as long as {@link #DATA_BLOCK_ENCODING} is not NONE.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  public static final boolean DEFAULT_ENCODE_ON_DISK = true;<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  /** Default data block encoding algorithm. */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static final String DEFAULT_DATA_BLOCK_ENCODING =<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      DataBlockEncoding.NONE.toString();<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * Default number of versions of a record to keep.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static final int DEFAULT_VERSIONS = HBaseConfiguration.create().getInt(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      "hbase.column.max.version", 1);<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>  /**<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   * Default is not to keep a minimum of versions.<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   */<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public static final int DEFAULT_MIN_VERSIONS = 0;<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  /*<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * Cache here the HCD value.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * Question: its OK to cache since when we're reenable, we create a new HCD?<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  private volatile Integer blocksize = null;<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>   * Default setting for whether to try and serve this column family from memory or not.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  public static final boolean DEFAULT_IN_MEMORY = false;<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>   * Default setting for preventing deleted from being collected immediately.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public static final KeepDeletedCells DEFAULT_KEEP_DELETED = KeepDeletedCells.FALSE;<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>   * Default setting for whether to use a block cache or not.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   */<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  public static final boolean DEFAULT_BLOCKCACHE = true;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  /**<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * Default setting for whether to cache data blocks on write if block caching<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * is enabled.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  public static final boolean DEFAULT_CACHE_DATA_ON_WRITE = false;<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>   * Default setting for whether to cache data blocks in L1 tier.  Only makes sense if more than<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   * one tier in operations: i.e. if we have an L1 and a L2.  This will be the cases if we are<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * using BucketCache.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  public static final boolean DEFAULT_CACHE_DATA_IN_L1 = false;<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>   * Default setting for whether to cache index blocks on write if block<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * caching is enabled.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  public static final boolean DEFAULT_CACHE_INDEX_ON_WRITE = false;<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>   * Default size of blocks in files stored to the filesytem (hfiles).<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  public static final int DEFAULT_BLOCKSIZE = HConstants.DEFAULT_BLOCKSIZE;<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>   * Default setting for whether or not to use bloomfilters.<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  public static final String DEFAULT_BLOOMFILTER = BloomType.ROW.toString();<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  /**<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * Default setting for whether to cache bloom filter blocks on write if block<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   * caching is enabled.<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  public static final boolean DEFAULT_CACHE_BLOOMS_ON_WRITE = false;<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * Default time to live of cell contents.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  public static final int DEFAULT_TTL = HConstants.FOREVER;<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * Default scope.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  public static final int DEFAULT_REPLICATION_SCOPE = HConstants.REPLICATION_SCOPE_LOCAL;<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  /**<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * Default setting for whether to evict cached blocks from the blockcache on<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * close.<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  public static final boolean DEFAULT_EVICT_BLOCKS_ON_CLOSE = false;<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Default compress tags along with any type of DataBlockEncoding.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  public static final boolean DEFAULT_COMPRESS_TAGS = true;<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  /*<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * Default setting for whether to prefetch blocks into the blockcache on open.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  public static final boolean DEFAULT_PREFETCH_BLOCKS_ON_OPEN = false;<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  private final static Map&lt;String, String&gt; DEFAULT_VALUES = new HashMap&lt;&gt;();<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private final static Set&lt;Bytes&gt; RESERVED_KEYWORDS = new HashSet&lt;&gt;();<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  static {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    DEFAULT_VALUES.put(BLOOMFILTER, DEFAULT_BLOOMFILTER);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    DEFAULT_VALUES.put(REPLICATION_SCOPE, String.valueOf(DEFAULT_REPLICATION_SCOPE));<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    DEFAULT_VALUES.put(HConstants.VERSIONS, String.valueOf(DEFAULT_VERSIONS));<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    DEFAULT_VALUES.put(MIN_VERSIONS, String.valueOf(DEFAULT_MIN_VERSIONS));<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    DEFAULT_VALUES.put(COMPRESSION, DEFAULT_COMPRESSION);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    DEFAULT_VALUES.put(TTL, String.valueOf(DEFAULT_TTL));<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    DEFAULT_VALUES.put(BLOCKSIZE, String.valueOf(DEFAULT_BLOCKSIZE));<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    DEFAULT_VALUES.put(HConstants.IN_MEMORY, String.valueOf(DEFAULT_IN_MEMORY));<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    DEFAULT_VALUES.put(BLOCKCACHE, String.valueOf(DEFAULT_BLOCKCACHE));<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    DEFAULT_VALUES.put(KEEP_DELETED_CELLS, String.valueOf(DEFAULT_KEEP_DELETED));<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    DEFAULT_VALUES.put(DATA_BLOCK_ENCODING, String.valueOf(DEFAULT_DATA_BLOCK_ENCODING));<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    DEFAULT_VALUES.put(CACHE_DATA_ON_WRITE, String.valueOf(DEFAULT_CACHE_DATA_ON_WRITE));<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    DEFAULT_VALUES.put(CACHE_DATA_IN_L1, String.valueOf(DEFAULT_CACHE_DATA_IN_L1));<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    DEFAULT_VALUES.put(CACHE_INDEX_ON_WRITE, String.valueOf(DEFAULT_CACHE_INDEX_ON_WRITE));<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    DEFAULT_VALUES.put(CACHE_BLOOMS_ON_WRITE, String.valueOf(DEFAULT_CACHE_BLOOMS_ON_WRITE));<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    DEFAULT_VALUES.put(EVICT_BLOCKS_ON_CLOSE, String.valueOf(DEFAULT_EVICT_BLOCKS_ON_CLOSE));<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    DEFAULT_VALUES.put(PREFETCH_BLOCKS_ON_OPEN, String.valueOf(DEFAULT_PREFETCH_BLOCKS_ON_OPEN));<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    for (String s : DEFAULT_VALUES.keySet()) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(s)));<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(ENCRYPTION)));<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(ENCRYPTION_KEY)));<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    RESERVED_KEYWORDS.add(new Bytes(IS_MOB_BYTES));<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    RESERVED_KEYWORDS.add(new Bytes(MOB_THRESHOLD_BYTES));<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    RESERVED_KEYWORDS.add(new Bytes(MOB_COMPACT_PARTITION_POLICY_BYTES));<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 static final int UNINITIALIZED = -1;<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span>  // Column family name<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  private byte [] name;<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  // Column metadata<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  private final Map&lt;Bytes, Bytes&gt; values = new HashMap&lt;&gt;();<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>   * A map which holds the configuration specific to the column family.<a name="line.297"></a>
 <span class="sourceLineNo">298</span>   * The keys of the map have the same names as config keys and override the defaults with<a name="line.298"></a>
 <span class="sourceLineNo">299</span>   * cf-specific settings. Example usage may be for compactions, etc.<a name="line.299"></a>
 <span class="sourceLineNo">300</span>   */<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private final Map&lt;String, String&gt; configuration = new HashMap&lt;String, String&gt;();<a name="line.301"></a>
+<span class="sourceLineNo">301</span>  private final Map&lt;String, String&gt; configuration = new HashMap&lt;&gt;();<a name="line.301"></a>
 <span class="sourceLineNo">302</span><a name="line.302"></a>
 <span class="sourceLineNo">303</span>  /*<a name="line.303"></a>
 <span class="sourceLineNo">304</span>   * Cache the max versions rather than calculate it every time.<a name="line.304"></a>
@@ -1084,7 +1084,7 @@
 <span class="sourceLineNo">1076</span>  public int compareTo(HColumnDescriptor o) {<a name="line.1076"></a>
 <span class="sourceLineNo">1077</span>    int result = Bytes.compareTo(this.name, o.getName());<a name="line.1077"></a>
 <span class="sourceLineNo">1078</span>    if (result == 0) {<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      // punt on comparison for ordering, just calculate difference<a name="line.1079"></a>
+<span class="sourceLineNo">1079</span>      // punt on comparison for ordering, just calculate difference.<a name="line.1079"></a>
 <span class="sourceLineNo">1080</span>      result = this.values.hashCode() - o.values.hashCode();<a name="line.1080"></a>
 <span class="sourceLineNo">1081</span>      if (result &lt; 0)<a name="line.1081"></a>
 <span class="sourceLineNo">1082</span>        result = -1;<a name="line.1082"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/HRegionInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/HRegionInfo.html b/apidocs/src-html/org/apache/hadoop/hbase/HRegionInfo.html
index 6d65caf..0586d0b 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/HRegionInfo.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/HRegionInfo.html
@@ -1175,7 +1175,7 @@
 <span class="sourceLineNo">1167</span>      throw new IllegalArgumentException("Can't build an object with empty bytes array");<a name="line.1167"></a>
 <span class="sourceLineNo">1168</span>    }<a name="line.1168"></a>
 <span class="sourceLineNo">1169</span>    DataInputBuffer in = new DataInputBuffer();<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>    List&lt;HRegionInfo&gt; hris = new ArrayList&lt;HRegionInfo&gt;();<a name="line.1170"></a>
+<span class="sourceLineNo">1170</span>    List&lt;HRegionInfo&gt; hris = new ArrayList&lt;&gt;();<a name="line.1170"></a>
 <span class="sourceLineNo">1171</span>    try {<a name="line.1171"></a>
 <span class="sourceLineNo">1172</span>      in.reset(bytes, offset, length);<a name="line.1172"></a>
 <span class="sourceLineNo">1173</span>      while (in.available() &gt; 0) {<a name="line.1173"></a>


[05/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html b/apidocs/src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
index 1365aec..351faa9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
@@ -65,381 +65,381 @@
 <span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.Table;<a name="line.57"></a>
 <span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.coprocessor.Batch;<a name="line.58"></a>
 <span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.coprocessor.Batch.Callback;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.rest.Constants;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.rest.model.CellModel;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.rest.model.CellSetModel;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.rest.model.RowModel;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.rest.model.ScannerModel;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.rest.model.TableSchemaModel;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.util.StringUtils;<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>import com.google.protobuf.Descriptors;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import com.google.protobuf.Message;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import com.google.protobuf.Service;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import com.google.protobuf.ServiceException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>/**<a name="line.77"></a>
-<span class="sourceLineNo">078</span> * HTable interface to remote tables accessed via REST gateway<a name="line.78"></a>
-<span class="sourceLineNo">079</span> */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>@InterfaceAudience.Public<a name="line.80"></a>
-<span class="sourceLineNo">081</span>@InterfaceStability.Stable<a name="line.81"></a>
-<span class="sourceLineNo">082</span>public class RemoteHTable implements Table {<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private static final Log LOG = LogFactory.getLog(RemoteHTable.class);<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  final Client client;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  final Configuration conf;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  final byte[] name;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  final int maxRetries;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  final long sleepTime;<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  @SuppressWarnings("rawtypes")<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  protected String buildRowSpec(final byte[] row, final Map familyMap,<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      final long startTime, final long endTime, final int maxVersions) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    StringBuffer sb = new StringBuffer();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    sb.append('/');<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    sb.append(Bytes.toString(name));<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    sb.append('/');<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    sb.append(toURLEncodedBytes(row));<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    Set families = familyMap.entrySet();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    if (families != null) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      Iterator i = familyMap.entrySet().iterator();<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      sb.append('/');<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      while (i.hasNext()) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        Map.Entry e = (Map.Entry)i.next();<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        Collection quals = (Collection)e.getValue();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>        if (quals == null || quals.isEmpty()) {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          // this is an unqualified family. append the family name and NO ':'<a name="line.108"></a>
-<span class="sourceLineNo">109</span>          sb.append(toURLEncodedBytes((byte[])e.getKey()));<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        } else {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          Iterator ii = quals.iterator();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>          while (ii.hasNext()) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>            sb.append(toURLEncodedBytes((byte[])e.getKey()));<a name="line.113"></a>
-<span class="sourceLineNo">114</span>            sb.append(':');<a name="line.114"></a>
-<span class="sourceLineNo">115</span>            Object o = ii.next();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>            // Puts use byte[] but Deletes use KeyValue<a name="line.116"></a>
-<span class="sourceLineNo">117</span>            if (o instanceof byte[]) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>              sb.append(toURLEncodedBytes((byte[])o));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>            } else if (o instanceof KeyValue) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>              sb.append(toURLEncodedBytes(CellUtil.cloneQualifier((KeyValue)o)));<a name="line.120"></a>
-<span class="sourceLineNo">121</span>            } else {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>              throw new RuntimeException("object type not handled");<a name="line.122"></a>
-<span class="sourceLineNo">123</span>            }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>            if (ii.hasNext()) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>              sb.append(',');<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>        }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        if (i.hasNext()) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          sb.append(',');<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        }<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>    if (startTime &gt;= 0 &amp;&amp; endTime != Long.MAX_VALUE) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      sb.append('/');<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      sb.append(startTime);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      if (startTime != endTime) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        sb.append(',');<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        sb.append(endTime);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    } else if (endTime != Long.MAX_VALUE) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      sb.append('/');<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      sb.append(endTime);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    if (maxVersions &gt; 1) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      sb.append("?v=");<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      sb.append(maxVersions);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    return sb.toString();<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>  protected String buildMultiRowSpec(final byte[][] rows, int maxVersions) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    StringBuilder sb = new StringBuilder();<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    sb.append('/');<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    sb.append(Bytes.toString(name));<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    sb.append("/multiget/");<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    if (rows == null || rows.length == 0) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      return sb.toString();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    sb.append("?");<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    for(int i=0; i&lt;rows.length; i++) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      byte[] rk = rows[i];<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      if (i != 0) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        sb.append('&amp;');<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      sb.append("row=");<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      sb.append(toURLEncodedBytes(rk));<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    sb.append("&amp;v=");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    sb.append(maxVersions);<a name="line.170"></a>
-<span class="sourceLineNo">171</span><a name="line.171"></a>
-<span class="sourceLineNo">172</span>    return sb.toString();<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>  protected Result[] buildResultFromModel(final CellSetModel model) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    List&lt;Result&gt; results = new ArrayList&lt;Result&gt;();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    for (RowModel row: model.getRows()) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      List&lt;Cell&gt; kvs = new ArrayList&lt;Cell&gt;(row.getCells().size());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      for (CellModel cell: row.getCells()) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        byte[][] split = KeyValue.parseColumn(cell.getColumn());<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        byte[] column = split[0];<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        byte[] qualifier = null;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        if (split.length == 1) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>          qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        } else if (split.length == 2) {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>          qualifier = split[1];<a name="line.186"></a>
-<span class="sourceLineNo">187</span>        } else {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>          throw new IllegalArgumentException("Invalid familyAndQualifier provided.");<a name="line.188"></a>
-<span class="sourceLineNo">189</span>        }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>        kvs.add(new KeyValue(row.getKey(), column, qualifier,<a name="line.190"></a>
-<span class="sourceLineNo">191</span>          cell.getTimestamp(), cell.getValue()));<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      }<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      results.add(Result.create(kvs));<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    return results.toArray(new Result[results.size()]);<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>  protected CellSetModel buildModelFromPut(Put put) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    RowModel row = new RowModel(put.getRow());<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    long ts = put.getTimeStamp();<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    for (List&lt;Cell&gt; cells: put.getFamilyCellMap().values()) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      for (Cell cell: cells) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        row.addCell(new CellModel(CellUtil.cloneFamily(cell), CellUtil.cloneQualifier(cell),<a name="line.203"></a>
-<span class="sourceLineNo">204</span>          ts != HConstants.LATEST_TIMESTAMP ? ts : cell.getTimestamp(),<a name="line.204"></a>
-<span class="sourceLineNo">205</span>          CellUtil.cloneValue(cell)));<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>    CellSetModel model = new CellSetModel();<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    model.addRow(row);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    return model;<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>  /**<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * Constructor<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public RemoteHTable(Client client, String name) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    this(client, HBaseConfiguration.create(), Bytes.toBytes(name));<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>  /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * Constructor<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public RemoteHTable(Client client, Configuration conf, String name) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    this(client, conf, Bytes.toBytes(name));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * Constructor<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public RemoteHTable(Client client, Configuration conf, byte[] name) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    this.client = client;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    this.conf = conf;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    this.name = name;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    this.maxRetries = conf.getInt("hbase.rest.client.max.retries", 10);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    this.sleepTime = conf.getLong("hbase.rest.client.sleep", 1000);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>  public byte[] getTableName() {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    return name.clone();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @Override<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public TableName getName() {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    return TableName.valueOf(name);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  }<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  @Override<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  public Configuration getConfiguration() {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return conf;<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>  @Override<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  public HTableDescriptor getTableDescriptor() throws IOException {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    StringBuilder sb = new StringBuilder();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    sb.append('/');<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    sb.append(Bytes.toString(name));<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    sb.append('/');<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    sb.append("schema");<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      Response response = client.get(sb.toString(), Constants.MIMETYPE_PROTOBUF);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      int code = response.getCode();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      switch (code) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      case 200:<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        TableSchemaModel schema = new TableSchemaModel();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>        schema.getObjectFromMessage(response.getBody());<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        return schema.getTableDescriptor();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      case 509:<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        try {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          Thread.sleep(sleepTime);<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        } catch (InterruptedException e) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>          throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>        }<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        break;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      default:<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        throw new IOException("schema request returned " + code);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    throw new IOException("schema request timed out");<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  public void close() throws IOException {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    client.shutdown();<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>  @Override<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  public Result get(Get get) throws IOException {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    TimeRange range = get.getTimeRange();<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    String spec = buildRowSpec(get.getRow(), get.getFamilyMap(),<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      range.getMin(), range.getMax(), get.getMaxVersions());<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if (get.getFilter() != null) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      LOG.warn("filters not supported on gets");<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    Result[] results = getResults(spec);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    if (results.length &gt; 0) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      if (results.length &gt; 1) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        LOG.warn("too many results for get (" + results.length + ")");<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      return results[0];<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      return new Result();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  @Override<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public Result[] get(List&lt;Get&gt; gets) throws IOException {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    byte[][] rows = new byte[gets.size()][];<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    int maxVersions = 1;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    int count = 0;<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span>    for(Get g:gets) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>      if ( count == 0 ) {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        maxVersions = g.getMaxVersions();<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      } else if (g.getMaxVersions() != maxVersions) {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        LOG.warn("MaxVersions on Gets do not match, using the first in the list ("+maxVersions+")");<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 (g.getFilter() != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        LOG.warn("filters not supported on gets");<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>      rows[count] = g.getRow();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      count ++;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>    String spec = buildMultiRowSpec(rows, maxVersions);<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>    return getResults(spec);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  private Result[] getResults(String spec) throws IOException {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      Response response = client.get(spec, Constants.MIMETYPE_PROTOBUF);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      int code = response.getCode();<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      switch (code) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>        case 200:<a name="line.337"></a>
-<span class="sourceLineNo">338</span>          CellSetModel model = new CellSetModel();<a name="line.338"></a>
-<span class="sourceLineNo">339</span>          model.getObjectFromMessage(response.getBody());<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          Result[] results = buildResultFromModel(model);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>          if ( results.length &gt; 0) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>            return results;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>          }<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          // fall through<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        case 404:<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          return new Result[0];<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>        case 509:<a name="line.348"></a>
-<span class="sourceLineNo">349</span>          try {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>            Thread.sleep(sleepTime);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>          } catch (InterruptedException e) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>          }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>          break;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        default:<a name="line.355"></a>
-<span class="sourceLineNo">356</span>          throw new IOException("get request returned " + code);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    }<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    throw new IOException("get request timed out");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  public boolean exists(Get get) throws IOException {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    LOG.warn("exists() is really get(), just use get()");<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    Result result = get(get);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    return (result != null &amp;&amp; !(result.isEmpty()));<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  }<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * exists(List) is really a list of get() calls. Just use get().<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param gets list of Get to test for the existence<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   */<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  public boolean[] existsAll(List&lt;Get&gt; gets) throws IOException {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    LOG.warn("exists(List&lt;Get&gt;) is really list of get() calls, just use get()");<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    boolean[] results = new boolean[gets.size()];<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    for (int i = 0; i &lt; results.length; i++) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      results[i] = exists(gets.get(i));<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    return results;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  @Deprecated<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public Boolean[] exists(List&lt;Get&gt; gets) throws IOException {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    boolean[] results = existsAll(gets);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    Boolean[] objectResults = new Boolean[results.length];<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    for (int i = 0; i &lt; results.length; ++i) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      objectResults[i] = results[i];<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    return objectResults;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  @Override<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public void put(Put put) throws IOException {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    CellSetModel model = buildModelFromPut(put);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    StringBuilder sb = new StringBuilder();<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    sb.append('/');<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    sb.append(Bytes.toString(name));<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    sb.append('/');<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    sb.append(toURLEncodedBytes(put.getRow()));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      Response response = client.put(sb.toString(), Constants.MIMETYPE_PROTOBUF,<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        model.createProtobufOutput());<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      int code = response.getCode();<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      switch (code) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      case 200:<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        return;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      case 509:<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        try {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>          Thread.sleep(sleepTime);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        } catch (InterruptedException e) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        break;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      default:<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        throw new IOException("put request failed with " + code);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    }<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    throw new IOException("put request timed out");<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @Override<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public void put(List&lt;Put&gt; puts) throws IOException {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    // this is a trick: The gateway accepts multiple rows in a cell set and<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    // ignores the row specification in the URI<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>    // separate puts by row<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    TreeMap&lt;byte[],List&lt;Cell&gt;&gt; map =<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      new TreeMap&lt;byte[],List&lt;Cell&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.429"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.metrics.ScanMetrics;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.rest.Constants;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.rest.model.CellModel;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.rest.model.CellSetModel;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.rest.model.RowModel;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.rest.model.ScannerModel;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.rest.model.TableSchemaModel;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.util.StringUtils;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>import com.google.protobuf.Descriptors;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import com.google.protobuf.Message;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import com.google.protobuf.Service;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import com.google.protobuf.ServiceException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>/**<a name="line.78"></a>
+<span class="sourceLineNo">079</span> * HTable interface to remote tables accessed via REST gateway<a name="line.79"></a>
+<span class="sourceLineNo">080</span> */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>@InterfaceAudience.Public<a name="line.81"></a>
+<span class="sourceLineNo">082</span>@InterfaceStability.Stable<a name="line.82"></a>
+<span class="sourceLineNo">083</span>public class RemoteHTable implements Table {<a name="line.83"></a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private static final Log LOG = LogFactory.getLog(RemoteHTable.class);<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  final Client client;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  final Configuration conf;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  final byte[] name;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  final int maxRetries;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  final long sleepTime;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  @SuppressWarnings("rawtypes")<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  protected String buildRowSpec(final byte[] row, final Map familyMap,<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      final long startTime, final long endTime, final int maxVersions) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    StringBuffer sb = new StringBuffer();<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    sb.append('/');<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    sb.append(Bytes.toString(name));<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    sb.append('/');<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    sb.append(toURLEncodedBytes(row));<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    Set families = familyMap.entrySet();<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    if (families != null) {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      Iterator i = familyMap.entrySet().iterator();<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      sb.append('/');<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      while (i.hasNext()) {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>        Map.Entry e = (Map.Entry)i.next();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        Collection quals = (Collection)e.getValue();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        if (quals == null || quals.isEmpty()) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>          // this is an unqualified family. append the family name and NO ':'<a name="line.109"></a>
+<span class="sourceLineNo">110</span>          sb.append(toURLEncodedBytes((byte[])e.getKey()));<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        } else {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>          Iterator ii = quals.iterator();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          while (ii.hasNext()) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>            sb.append(toURLEncodedBytes((byte[])e.getKey()));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>            sb.append(':');<a name="line.115"></a>
+<span class="sourceLineNo">116</span>            Object o = ii.next();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            // Puts use byte[] but Deletes use KeyValue<a name="line.117"></a>
+<span class="sourceLineNo">118</span>            if (o instanceof byte[]) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>              sb.append(toURLEncodedBytes((byte[])o));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>            } else if (o instanceof KeyValue) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>              sb.append(toURLEncodedBytes(CellUtil.cloneQualifier((KeyValue)o)));<a name="line.121"></a>
+<span class="sourceLineNo">122</span>            } else {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>              throw new RuntimeException("object type not handled");<a name="line.123"></a>
+<span class="sourceLineNo">124</span>            }<a name="line.124"></a>
+<span class="sourceLineNo">125</span>            if (ii.hasNext()) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>              sb.append(',');<a name="line.126"></a>
+<span class="sourceLineNo">127</span>            }<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>        if (i.hasNext()) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>          sb.append(',');<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>    }<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    if (startTime &gt;= 0 &amp;&amp; endTime != Long.MAX_VALUE) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      sb.append('/');<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      sb.append(startTime);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      if (startTime != endTime) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>        sb.append(',');<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        sb.append(endTime);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    } else if (endTime != Long.MAX_VALUE) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      sb.append('/');<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      sb.append(endTime);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    if (maxVersions &gt; 1) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      sb.append("?v=");<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      sb.append(maxVersions);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    return sb.toString();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>  protected String buildMultiRowSpec(final byte[][] rows, int maxVersions) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    StringBuilder sb = new StringBuilder();<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    sb.append('/');<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    sb.append(Bytes.toString(name));<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    sb.append("/multiget/");<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    if (rows == null || rows.length == 0) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      return sb.toString();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    sb.append("?");<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    for(int i=0; i&lt;rows.length; i++) {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      byte[] rk = rows[i];<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      if (i != 0) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        sb.append('&amp;');<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      }<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      sb.append("row=");<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      sb.append(toURLEncodedBytes(rk));<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    sb.append("&amp;v=");<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    sb.append(maxVersions);<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span>    return sb.toString();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>  protected Result[] buildResultFromModel(final CellSetModel model) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    List&lt;Result&gt; results = new ArrayList&lt;&gt;();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    for (RowModel row: model.getRows()) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      List&lt;Cell&gt; kvs = new ArrayList&lt;&gt;(row.getCells().size());<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      for (CellModel cell: row.getCells()) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>        byte[][] split = KeyValue.parseColumn(cell.getColumn());<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        byte[] column = split[0];<a name="line.182"></a>
+<span class="sourceLineNo">183</span>        byte[] qualifier = null;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        if (split.length == 1) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>          qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        } else if (split.length == 2) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>          qualifier = split[1];<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        } else {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>          throw new IllegalArgumentException("Invalid familyAndQualifier provided.");<a name="line.189"></a>
+<span class="sourceLineNo">190</span>        }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        kvs.add(new KeyValue(row.getKey(), column, qualifier,<a name="line.191"></a>
+<span class="sourceLineNo">192</span>          cell.getTimestamp(), cell.getValue()));<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      results.add(Result.create(kvs));<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    return results.toArray(new Result[results.size()]);<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>  protected CellSetModel buildModelFromPut(Put put) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    RowModel row = new RowModel(put.getRow());<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    long ts = put.getTimeStamp();<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    for (List&lt;Cell&gt; cells: put.getFamilyCellMap().values()) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      for (Cell cell: cells) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        row.addCell(new CellModel(CellUtil.cloneFamily(cell), CellUtil.cloneQualifier(cell),<a name="line.204"></a>
+<span class="sourceLineNo">205</span>          ts != HConstants.LATEST_TIMESTAMP ? ts : cell.getTimestamp(),<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          CellUtil.cloneValue(cell)));<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>    CellSetModel model = new CellSetModel();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    model.addRow(row);<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    return model;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  }<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>   * Constructor<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  public RemoteHTable(Client client, String name) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    this(client, HBaseConfiguration.create(), Bytes.toBytes(name));<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>  /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * Constructor<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   */<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  public RemoteHTable(Client client, Configuration conf, String name) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    this(client, conf, Bytes.toBytes(name));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  }<a name="line.226"></a>
+<span class="sourceLineNo">227</span><a name="line.227"></a>
+<span class="sourceLineNo">228</span>  /**<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * Constructor<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  public RemoteHTable(Client client, Configuration conf, byte[] name) {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    this.client = client;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    this.conf = conf;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    this.name = name;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    this.maxRetries = conf.getInt("hbase.rest.client.max.retries", 10);<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    this.sleepTime = conf.getLong("hbase.rest.client.sleep", 1000);<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>  public byte[] getTableName() {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    return name.clone();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public TableName getName() {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    return TableName.valueOf(name);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>  @Override<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  public Configuration getConfiguration() {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return conf;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  public HTableDescriptor getTableDescriptor() throws IOException {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    StringBuilder sb = new StringBuilder();<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    sb.append('/');<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    sb.append(Bytes.toString(name));<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    sb.append('/');<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    sb.append("schema");<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      Response response = client.get(sb.toString(), Constants.MIMETYPE_PROTOBUF);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      int code = response.getCode();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      switch (code) {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      case 200:<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        TableSchemaModel schema = new TableSchemaModel();<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        schema.getObjectFromMessage(response.getBody());<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        return schema.getTableDescriptor();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      case 509:<a name="line.268"></a>
+<span class="sourceLineNo">269</span>        try {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>          Thread.sleep(sleepTime);<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        } catch (InterruptedException e) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>        }<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        break;<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      default:<a name="line.275"></a>
+<span class="sourceLineNo">276</span>        throw new IOException("schema request returned " + code);<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      }<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    throw new IOException("schema request timed out");<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  @Override<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public void close() throws IOException {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    client.shutdown();<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>  @Override<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  public Result get(Get get) throws IOException {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    TimeRange range = get.getTimeRange();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    String spec = buildRowSpec(get.getRow(), get.getFamilyMap(),<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      range.getMin(), range.getMax(), get.getMaxVersions());<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    if (get.getFilter() != null) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      LOG.warn("filters not supported on gets");<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    Result[] results = getResults(spec);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    if (results.length &gt; 0) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      if (results.length &gt; 1) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        LOG.warn("too many results for get (" + results.length + ")");<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      }<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      return results[0];<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    } else {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      return new Result();<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  }<a name="line.304"></a>
+<span class="sourceLineNo">305</span><a name="line.305"></a>
+<span class="sourceLineNo">306</span>  @Override<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  public Result[] get(List&lt;Get&gt; gets) throws IOException {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    byte[][] rows = new byte[gets.size()][];<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    int maxVersions = 1;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    int count = 0;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    for(Get g:gets) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span>      if ( count == 0 ) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        maxVersions = g.getMaxVersions();<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      } else if (g.getMaxVersions() != maxVersions) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        LOG.warn("MaxVersions on Gets do not match, using the first in the list ("+maxVersions+")");<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      }<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>      if (g.getFilter() != null) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        LOG.warn("filters not supported on gets");<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span>      rows[count] = g.getRow();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      count ++;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span>    String spec = buildMultiRowSpec(rows, maxVersions);<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span>    return getResults(spec);<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  }<a name="line.331"></a>
+<span class="sourceLineNo">332</span><a name="line.332"></a>
+<span class="sourceLineNo">333</span>  private Result[] getResults(String spec) throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      Response response = client.get(spec, Constants.MIMETYPE_PROTOBUF);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      int code = response.getCode();<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      switch (code) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        case 200:<a name="line.338"></a>
+<span class="sourceLineNo">339</span>          CellSetModel model = new CellSetModel();<a name="line.339"></a>
+<span class="sourceLineNo">340</span>          model.getObjectFromMessage(response.getBody());<a name="line.340"></a>
+<span class="sourceLineNo">341</span>          Result[] results = buildResultFromModel(model);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>          if ( results.length &gt; 0) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            return results;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>          }<a name="line.344"></a>
+<span class="sourceLineNo">345</span>          // fall through<a name="line.345"></a>
+<span class="sourceLineNo">346</span>        case 404:<a name="line.346"></a>
+<span class="sourceLineNo">347</span>          return new Result[0];<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>        case 509:<a name="line.349"></a>
+<span class="sourceLineNo">350</span>          try {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>            Thread.sleep(sleepTime);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>          } catch (InterruptedException e) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>            throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>          }<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          break;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        default:<a name="line.356"></a>
+<span class="sourceLineNo">357</span>          throw new IOException("get request returned " + code);<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      }<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    throw new IOException("get request timed out");<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  public boolean exists(Get get) throws IOException {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    LOG.warn("exists() is really get(), just use get()");<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    Result result = get(get);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    return (result != null &amp;&amp; !(result.isEmpty()));<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  }<a name="line.368"></a>
+<span class="sourceLineNo">369</span><a name="line.369"></a>
+<span class="sourceLineNo">370</span>  /**<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * exists(List) is really a list of get() calls. Just use get().<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * @param gets list of Get to test for the existence<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  @Override<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  public boolean[] existsAll(List&lt;Get&gt; gets) throws IOException {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    LOG.warn("exists(List&lt;Get&gt;) is really list of get() calls, just use get()");<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    boolean[] results = new boolean[gets.size()];<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    for (int i = 0; i &lt; results.length; i++) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      results[i] = exists(gets.get(i));<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    }<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    return results;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
+<span class="sourceLineNo">383</span><a name="line.383"></a>
+<span class="sourceLineNo">384</span>  @Deprecated<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  public Boolean[] exists(List&lt;Get&gt; gets) throws IOException {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    boolean[] results = existsAll(gets);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    Boolean[] objectResults = new Boolean[results.length];<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    for (int i = 0; i &lt; results.length; ++i) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      objectResults[i] = results[i];<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    return objectResults;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>  @Override<a name="line.394"></a>
+<span class="sourceLineNo">395</span>  public void put(Put put) throws IOException {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    CellSetModel model = buildModelFromPut(put);<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    StringBuilder sb = new StringBuilder();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    sb.append('/');<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    sb.append(Bytes.toString(name));<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    sb.append('/');<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    sb.append(toURLEncodedBytes(put.getRow()));<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      Response response = client.put(sb.toString(), Constants.MIMETYPE_PROTOBUF,<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        model.createProtobufOutput());<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      int code = response.getCode();<a name="line.405"></a>
+<span class="sourceLineNo">406</span>      switch (code) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      case 200:<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        return;<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      case 509:<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        try {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>          Thread.sleep(sleepTime);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>        } catch (InterruptedException e) {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.413"></a>
+<span class="sourceLineNo">414</span>        }<a name="line.414"></a>
+<span class="sourceLineNo">415</span>        break;<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      default:<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        throw new IOException("put request failed with " + code);<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      }<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    throw new IOException("put request timed out");<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
+<span class="sourceLineNo">422</span><a name="line.422"></a>
+<span class="sourceLineNo">423</span>  @Override<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  public void put(List&lt;Put&gt; puts) throws IOException {<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    // this is a trick: The gateway accepts multiple rows in a cell set and<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    // ignores the row specification in the URI<a name="line.426"></a>
+<span class="sourceLineNo">427</span><a name="line.427"></a>
+<span class="sourceLineNo">428</span>    // separate puts by row<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    TreeMap&lt;byte[],List&lt;Cell&gt;&gt; map = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.429"></a>
 <span class="sourceLineNo">430</span>    for (Put put: puts) {<a name="line.430"></a>
 <span class="sourceLineNo">431</span>      byte[] row = put.getRow();<a name="line.431"></a>
 <span class="sourceLineNo">432</span>      List&lt;Cell&gt; cells = map.get(row);<a name="line.432"></a>
 <span class="sourceLineNo">433</span>      if (cells == null) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        cells = new ArrayList&lt;Cell&gt;();<a name="line.434"></a>
+<span class="sourceLineNo">434</span>        cells = new ArrayList&lt;&gt;();<a name="line.434"></a>
 <span class="sourceLineNo">435</span>        map.put(row, cells);<a name="line.435"></a>
 <span class="sourceLineNo">436</span>      }<a name="line.436"></a>
 <span class="sourceLineNo">437</span>      for (List&lt;Cell&gt; l: put.getFamilyCellMap().values()) {<a name="line.437"></a>
@@ -650,263 +650,268 @@
 <span class="sourceLineNo">642</span>    public boolean renewLease() {<a name="line.642"></a>
 <span class="sourceLineNo">643</span>      throw new RuntimeException("renewLease() not supported");<a name="line.643"></a>
 <span class="sourceLineNo">644</span>    }<a name="line.644"></a>
-<span class="sourceLineNo">645</span>  }<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>  @Override<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public ResultScanner getScanner(Scan scan) throws IOException {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    return new Scanner(scan);<a name="line.649"></a>
+<span class="sourceLineNo">645</span><a name="line.645"></a>
+<span class="sourceLineNo">646</span>    @Override<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    public ScanMetrics getScanMetrics() {<a name="line.647"></a>
+<span class="sourceLineNo">648</span>      throw new RuntimeException("getScanMetrics() not supported");<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><a name="line.651"></a>
 <span class="sourceLineNo">652</span>  @Override<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  public ResultScanner getScanner(byte[] family) throws IOException {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    Scan scan = new Scan();<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    scan.addFamily(family);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    return new Scanner(scan);<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>  @Override<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  public ResultScanner getScanner(byte[] family, byte[] qualifier)<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      throws IOException {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    Scan scan = new Scan();<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    scan.addColumn(family, qualifier);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    return new Scanner(scan);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>  }<a name="line.665"></a>
-<span class="sourceLineNo">666</span><a name="line.666"></a>
-<span class="sourceLineNo">667</span>  public boolean isAutoFlush() {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    return true;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>  }<a name="line.669"></a>
-<span class="sourceLineNo">670</span><a name="line.670"></a>
-<span class="sourceLineNo">671</span>  @Override<a name="line.671"></a>
-<span class="sourceLineNo">672</span>  public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier,<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      byte[] value, Put put) throws IOException {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    // column to check-the-value<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    put.add(new KeyValue(row, family, qualifier, value));<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span>    CellSetModel model = buildModelFromPut(put);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    StringBuilder sb = new StringBuilder();<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    sb.append('/');<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    sb.append(Bytes.toString(name));<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    sb.append('/');<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    sb.append(toURLEncodedBytes(put.getRow()));<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    sb.append("?check=put");<a name="line.683"></a>
-<span class="sourceLineNo">684</span><a name="line.684"></a>
-<span class="sourceLineNo">685</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      Response response = client.put(sb.toString(),<a name="line.686"></a>
-<span class="sourceLineNo">687</span>        Constants.MIMETYPE_PROTOBUF, model.createProtobufOutput());<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      int code = response.getCode();<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      switch (code) {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      case 200:<a name="line.690"></a>
-<span class="sourceLineNo">691</span>        return true;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      case 304: // NOT-MODIFIED<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        return false;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      case 509:<a name="line.694"></a>
-<span class="sourceLineNo">695</span>        try {<a name="line.695"></a>
-<span class="sourceLineNo">696</span>          Thread.sleep(sleepTime);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        } catch (final InterruptedException e) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>          throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.698"></a>
-<span class="sourceLineNo">699</span>        }<a name="line.699"></a>
-<span class="sourceLineNo">700</span>        break;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      default:<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        throw new IOException("checkAndPut request failed with " + code);<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>    throw new IOException("checkAndPut request timed out");<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>  @Override<a name="line.708"></a>
-<span class="sourceLineNo">709</span>  public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier,<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      CompareOp compareOp, byte[] value, Put put) throws IOException {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    throw new IOException("checkAndPut for non-equal comparison not implemented");<a name="line.711"></a>
-<span class="sourceLineNo">712</span>  }<a name="line.712"></a>
-<span class="sourceLineNo">713</span><a name="line.713"></a>
-<span class="sourceLineNo">714</span>  @Override<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  public boolean checkAndDelete(byte[] row, byte[] family, byte[] qualifier,<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      byte[] value, Delete delete) throws IOException {<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    Put put = new Put(row);<a name="line.717"></a>
-<span class="sourceLineNo">718</span>    put.setFamilyCellMap(delete.getFamilyCellMap());<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    // column to check-the-value<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    put.add(new KeyValue(row, family, qualifier, value));<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    CellSetModel model = buildModelFromPut(put);<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    StringBuilder sb = new StringBuilder();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    sb.append('/');<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    sb.append(Bytes.toString(name));<a name="line.724"></a>
-<span class="sourceLineNo">725</span>    sb.append('/');<a name="line.725"></a>
-<span class="sourceLineNo">726</span>    sb.append(toURLEncodedBytes(row));<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    sb.append("?check=delete");<a name="line.727"></a>
-<span class="sourceLineNo">728</span><a name="line.728"></a>
-<span class="sourceLineNo">729</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      Response response = client.put(sb.toString(),<a name="line.730"></a>
-<span class="sourceLineNo">731</span>        Constants.MIMETYPE_PROTOBUF, model.createProtobufOutput());<a name="line.731"></a>
-<span class="sourceLineNo">732</span>      int code = response.getCode();<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      switch (code) {<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      case 200:<a name="line.734"></a>
-<span class="sourceLineNo">735</span>        return true;<a name="line.735"></a>
-<span class="sourceLineNo">736</span>      case 304: // NOT-MODIFIED<a name="line.736"></a>
-<span class="sourceLineNo">737</span>        return false;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      case 509:<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        try {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          Thread.sleep(sleepTime);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>        } catch (final InterruptedException e) {<a name="line.741"></a>
-<span class="sourceLineNo">742</span>          throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        }<a name="line.743"></a>
-<span class="sourceLineNo">744</span>        break;<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      default:<a name="line.745"></a>
-<span class="sourceLineNo">746</span>        throw new IOException("checkAndDelete request failed with " + code);<a name="line.746"></a>
-<span class="sourceLineNo">747</span>      }<a name="line.747"></a>
-<span class="sourceLineNo">748</span>    }<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    throw new IOException("checkAndDelete request timed out");<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>  @Override<a name="line.752"></a>
-<span class="sourceLineNo">753</span>  public boolean checkAndDelete(byte[] row, byte[] family, byte[] qualifier,<a name="line.753"></a>
-<span class="sourceLineNo">754</span>      CompareOp compareOp, byte[] value, Delete delete) throws IOException {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    throw new IOException("checkAndDelete for non-equal comparison not implemented");<a name="line.755"></a>
-<span class="sourceLineNo">756</span>  }<a name="line.756"></a>
-<span class="sourceLineNo">757</span><a name="line.757"></a>
-<span class="sourceLineNo">758</span>  @Override<a name="line.758"></a>
-<span class="sourceLineNo">759</span>  public Result increment(Increment increment) throws IOException {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    throw new IOException("Increment not supported");<a name="line.760"></a>
+<span class="sourceLineNo">653</span>  public ResultScanner getScanner(Scan scan) throws IOException {<a name="line.653"></a>
+<span class="sourceLineNo">654</span>    return new Scanner(scan);<a name="line.654"></a>
+<span class="sourceLineNo">655</span>  }<a name="line.655"></a>
+<span class="sourceLineNo">656</span><a name="line.656"></a>
+<span class="sourceLineNo">657</span>  @Override<a name="line.657"></a>
+<span class="sourceLineNo">658</span>  public ResultScanner getScanner(byte[] family) throws IOException {<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    Scan scan = new Scan();<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    scan.addFamily(family);<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    return new Scanner(scan);<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>  @Override<a name="line.664"></a>
+<span class="sourceLineNo">665</span>  public ResultScanner getScanner(byte[] family, byte[] qualifier)<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      throws IOException {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    Scan scan = new Scan();<a name="line.667"></a>
+<span class="sourceLineNo">668</span>    scan.addColumn(family, qualifier);<a name="line.668"></a>
+<span class="sourceLineNo">669</span>    return new Scanner(scan);<a name="line.669"></a>
+<span class="sourceLineNo">670</span>  }<a name="line.670"></a>
+<span class="sourceLineNo">671</span><a name="line.671"></a>
+<span class="sourceLineNo">672</span>  public boolean isAutoFlush() {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>    return true;<a name="line.673"></a>
+<span class="sourceLineNo">674</span>  }<a name="line.674"></a>
+<span class="sourceLineNo">675</span><a name="line.675"></a>
+<span class="sourceLineNo">676</span>  @Override<a name="line.676"></a>
+<span class="sourceLineNo">677</span>  public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier,<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      byte[] value, Put put) throws IOException {<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    // column to check-the-value<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    put.add(new KeyValue(row, family, qualifier, value));<a name="line.680"></a>
+<span class="sourceLineNo">681</span><a name="line.681"></a>
+<span class="sourceLineNo">682</span>    CellSetModel model = buildModelFromPut(put);<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    StringBuilder sb = new StringBuilder();<a name="line.683"></a>
+<span class="sourceLineNo">684</span>    sb.append('/');<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    sb.append(Bytes.toString(name));<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    sb.append('/');<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    sb.append(toURLEncodedBytes(put.getRow()));<a name="line.687"></a>
+<span class="sourceLineNo">688</span>    sb.append("?check=put");<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.690"></a>
+<span class="sourceLineNo">691</span>      Response response = client.put(sb.toString(),<a name="line.691"></a>
+<span class="sourceLineNo">692</span>        Constants.MIMETYPE_PROTOBUF, model.createProtobufOutput());<a name="line.692"></a>
+<span class="sourceLineNo">693</span>      int code = response.getCode();<a name="line.693"></a>
+<span class="sourceLineNo">694</span>      switch (code) {<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      case 200:<a name="line.695"></a>
+<span class="sourceLineNo">696</span>        return true;<a name="line.696"></a>
+<span class="sourceLineNo">697</span>      case 304: // NOT-MODIFIED<a name="line.697"></a>
+<span class="sourceLineNo">698</span>        return false;<a name="line.698"></a>
+<span class="sourceLineNo">699</span>      case 509:<a name="line.699"></a>
+<span class="sourceLineNo">700</span>        try {<a name="line.700"></a>
+<span class="sourceLineNo">701</span>          Thread.sleep(sleepTime);<a name="line.701"></a>
+<span class="sourceLineNo">702</span>        } catch (final InterruptedException e) {<a name="line.702"></a>
+<span class="sourceLineNo">703</span>          throw (InterruptedIOException)new InterruptedIOException().initCause(e);<a name="line.703"></a>
+<span class="sourceLineNo">704</span>        }<a name="line.704"></a>
+<span class="sourceLineNo">705</span>        break;<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      default:<a name="line.706"></a>
+<span class="sourceLineNo">707</span>        throw new IOException("checkAndPut request failed with " + code);<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>    throw new IOException("checkAndPut request timed out");<a name="line.710"></a>
+<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
+<span class="sourceLineNo">712</span><a name="line.712"></a>
+<span class="sourceLineNo">713</span>  @Override<a name="line.713"></a>
+<span class="sourceLineNo">714</span>  public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier,<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      CompareOp compareOp, byte[] value, Put put) throws IOException {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    throw new IOException("checkAndPut for non-equal comparison not implemented");<a name="line.716"></a>
+<span class="sourceLineNo">717</span>  }<a name="line.717"></a>
+<span class="sourceLineNo">718</span><a name="line.718"></a>
+<span class="sourceLineNo">719</span>  @Override<a name="line.719"></a>
+<span class="sourceLineNo">720</span>  public boolean checkAndDelete(byte[] row, byte[] family, byte[] qualifier,<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      byte[] value, Delete delete) throws IOException {<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    Put put = new Put(row);<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    put.setFamilyCellMap(delete.getFamilyCellMap());<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    // column to check-the-value<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    put.add(new KeyValue(row, family, qualifier, value));<a name="line.725"></a>
+<span class="sourceLineNo">726</span>    CellSetModel model = buildModelFromPut(put);<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    StringBuilder sb = new StringBuilder();<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    sb.append('/');<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    sb.append(Bytes.toString(name));<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    sb.append('/');<a name="line.730"></a>
+<span class="sourceLineNo">731</span>    sb.append(toURLEncodedBytes(row));<a name="line.731"></a>
+<span class="sourceLineNo">732</span>    sb.append("?check=delete");<a name="line.732"></a>
+<span class="sourceLineNo">733</span><a name="line.733"></a>
+<span class="sourceLineNo">734</span>    for (int i = 0; i &lt; maxRetries; i++) {<a name="line.734"></a>
+<span class="sourceLineNo">735</span>      Response response = client.put(sb.toString(),<a name="line.735"></a>
+<span class="sourceLineNo">736</span>        Constants.MIMETYPE_PROTOBUF, model.createProtobufOutput());<a name="line.736"></a>
+<span class="sourceLineNo">737</span>      int code = response.getCode();<a name="line.737"></a>
+<span class="sourceLineNo">738</span>      switch (code) {<a name="line.738"></a>
+<span class="sourceLineNo">739</span>      case 200:<a name="line.739"></a>
+<span class="sourceLineNo">740</span>        return true;<a name="line.740"></

<TRUNCATED>

[06/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index 8803754..bff248e 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -78,9 +78,9 @@
 <span class="sourceLineNo">070</span>public class WALPlayer extends Configured implements Tool {<a name="line.70"></a>
 <span class="sourceLineNo">071</span>  private static final Log LOG = LogFactory.getLog(WALPlayer.class);<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  final static String NAME = "WALPlayer";<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  final static String BULK_OUTPUT_CONF_KEY = "wal.bulk.output";<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  final static String TABLES_KEY = "wal.input.tables";<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  final static String TABLE_MAP_KEY = "wal.input.tablesmap";<a name="line.75"></a>
+<span class="sourceLineNo">073</span>  public final static String BULK_OUTPUT_CONF_KEY = "wal.bulk.output";<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public final static String TABLES_KEY = "wal.input.tables";<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public final static String TABLE_MAP_KEY = "wal.input.tablesmap";<a name="line.75"></a>
 <span class="sourceLineNo">076</span><a name="line.76"></a>
 <span class="sourceLineNo">077</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.77"></a>
 <span class="sourceLineNo">078</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.78"></a>
@@ -92,271 +92,302 @@
 <span class="sourceLineNo">084</span><a name="line.84"></a>
 <span class="sourceLineNo">085</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.85"></a>
 <span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>  protected WALPlayer(final Configuration c) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    super(c);<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>  /**<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * A mapper that just writes out KeyValues.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  static class WALKeyValueMapper<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    private byte[] table;<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>    @Override<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    public void map(WALKey key, WALEdit value,<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      Context context)<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    throws IOException {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      try {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        // skip all other tables<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>          for (Cell cell : value.getCells()) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>            if (WALEdit.isMetaEditFamily(kv)) continue;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<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>      } catch (InterruptedException e) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        e.printStackTrace();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>    @Override<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public void setup(Context context) throws IOException {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      if (tables == null || tables.length != 1) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      }<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      table = Bytes.toBytes(tables[0]);<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><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  /**<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * a running HBase instance.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  protected static class WALMapper<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;TableName, TableName&gt;();<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>    @Override<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    throws IOException {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      try {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>          TableName targetTable = tables.isEmpty() ?<a name="line.142"></a>
-<span class="sourceLineNo">143</span>                key.getTablename() :<a name="line.143"></a>
-<span class="sourceLineNo">144</span>                tables.get(key.getTablename());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.145"></a>
-<span class="sourceLineNo">146</span>          Put put = null;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>          Delete del = null;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>          Cell lastCell = null;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          for (Cell cell : value.getCells()) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>            // filtering WAL meta entries<a name="line.150"></a>
-<span class="sourceLineNo">151</span>            if (WALEdit.isMetaEditFamily(cell)) continue;<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>            // Allow a subclass filter out this cell.<a name="line.153"></a>
-<span class="sourceLineNo">154</span>            if (filter(context, cell)) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.155"></a>
-<span class="sourceLineNo">156</span>              // multiple rows (HBASE-5229).<a name="line.156"></a>
-<span class="sourceLineNo">157</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.157"></a>
-<span class="sourceLineNo">158</span>              // operation before writing to the context.<a name="line.158"></a>
-<span class="sourceLineNo">159</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.159"></a>
-<span class="sourceLineNo">160</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>                // row or type changed, write out aggregate KVs.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>                if (put != null) context.write(tableOut, put);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>                if (del != null) context.write(tableOut, del);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>                if (CellUtil.isDelete(cell)) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.165"></a>
-<span class="sourceLineNo">166</span>                } else {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.167"></a>
-<span class="sourceLineNo">168</span>                }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>              }<a name="line.169"></a>
-<span class="sourceLineNo">170</span>              if (CellUtil.isDelete(cell)) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>                del.addDeleteMarker(cell);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>              } else {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>                put.add(cell);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>              }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>            }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>            lastCell = cell;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          // write residual KVs<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          if (put != null) context.write(tableOut, put);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>          if (del != null) context.write(tableOut, del);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        }<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      } catch (InterruptedException e) {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        e.printStackTrace();<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">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>    /**<a name="line.187"></a>
-<span class="sourceLineNo">188</span>     * @param cell<a name="line.188"></a>
-<span class="sourceLineNo">189</span>     * @return Return true if we are to emit this cell.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>     */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      return true;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    }<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>    @Override<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    public void setup(Context context) throws IOException {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      if (tablesToUse == null &amp;&amp; tableMap == null) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        // Then user wants all tables.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      } else if (tablesToUse == null || tableMap == null || tablesToUse.length != tableMap.length) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        throw new IOException("No tables or incorrect table mapping specified.");<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      int i = 0;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      if (tablesToUse != null) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        for (String table : tablesToUse) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>          tables.put(TableName.valueOf(table),<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            TableName.valueOf(tableMap[i++]));<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>    }<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>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    String val = conf.get(option);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    if (null == val) return;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    long ms;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    try {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      // first try to parse in user friendly form<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } catch (ParseException pe) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      try {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        // then see if just a number of ms's was specified<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        ms = Long.parseLong(val);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      } catch (NumberFormatException nfe) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        throw new IOException(option<a name="line.227"></a>
-<span class="sourceLineNo">228</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.228"></a>
-<span class="sourceLineNo">229</span>            + "or as number of milliseconds");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    conf.setLong(option, ms);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * Sets up the actual job.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   *<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * @param args  The command line parameters.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @return The newly created job.<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @throws IOException When setting up the job fails.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    Configuration conf = getConf();<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    Path inputDir = new Path(args[0]);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    String[] tables = args[1].split(",");<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    String[] tableMap;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    if (args.length &gt; 2) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      tableMap = args[2].split(",");<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      if (tableMap.length != tables.length) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.252"></a>
+<span class="sourceLineNo">087</span>  public WALPlayer(){<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>  protected WALPlayer(final Configuration c) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    super(c);<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>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * A mapper that just writes out KeyValues.<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  static class WALKeyValueMapper<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    private byte[] table;<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>    @Override<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    public void map(WALKey key, WALEdit value,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      Context context)<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>              continue;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>            }<a name="line.113"></a>
+<span class="sourceLineNo">114</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<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>      } catch (InterruptedException e) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>        e.printStackTrace();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>    @Override<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    public void setup(Context context) throws IOException {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      if (tables == null || tables.length != 1) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      table = Bytes.toBytes(tables[0]);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    }<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>  /**<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * a running HBase instance.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  protected static class WALMapper<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>    @Override<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    throws IOException {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>          TableName targetTable = tables.isEmpty() ?<a name="line.147"></a>
+<span class="sourceLineNo">148</span>                key.getTablename() :<a name="line.148"></a>
+<span class="sourceLineNo">149</span>                tables.get(key.getTablename());<a name="line.149"></a>
+<span class="sourceLineNo">150</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.150"></a>
+<span class="sourceLineNo">151</span>          Put put = null;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>          Delete del = null;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>          Cell lastCell = null;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          for (Cell cell : value.getCells()) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>            // filtering WAL meta entries<a name="line.155"></a>
+<span class="sourceLineNo">156</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>              continue;<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>            // Allow a subclass filter out this cell.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>            if (filter(context, cell)) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.162"></a>
+<span class="sourceLineNo">163</span>              // multiple rows (HBASE-5229).<a name="line.163"></a>
+<span class="sourceLineNo">164</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.164"></a>
+<span class="sourceLineNo">165</span>              // operation before writing to the context.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.166"></a>
+<span class="sourceLineNo">167</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>                // row or type changed, write out aggregate KVs.<a name="line.168"></a>
+<span class="sourceLineNo">169</span>                if (put != null) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>                  context.write(tableOut, put);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>                }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>                if (del != null) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                  context.write(tableOut, del);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>                }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>                if (CellUtil.isDelete(cell)) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.176"></a>
+<span class="sourceLineNo">177</span>                } else {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>                  put = new Put(CellUtil.cloneRow(cell));<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>              if (CellUtil.isDelete(cell)) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>                del.addDeleteMarker(cell);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>              } else {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>                put.add(cell);<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>            lastCell = cell;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>          }<a name="line.188"></a>
+<span class="sourceLineNo">189</span>          // write residual KVs<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          if (put != null) {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            context.write(tableOut, put);<a name="line.191"></a>
+<span class="sourceLineNo">192</span>          }<a name="line.192"></a>
+<span class="sourceLineNo">193</span>          if (del != null) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>            context.write(tableOut, del);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>          }<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        }<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      } catch (InterruptedException e) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        e.printStackTrace();<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return true;<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>    @Override<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    protected void<a name="line.207"></a>
+<span class="sourceLineNo">208</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.208"></a>
+<span class="sourceLineNo">209</span>            throws IOException, InterruptedException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      super.cleanup(context);<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>    @Override<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setup(Context context) throws IOException {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      if (tableMap == null) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        tableMap = tablesToUse;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      if (tablesToUse == null) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        // Then user wants all tables.<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.223"></a>
+<span class="sourceLineNo">224</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      int i = 0;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      if (tablesToUse != null) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        for (String table : tablesToUse) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>          tables.put(TableName.valueOf(table),<a name="line.229"></a>
+<span class="sourceLineNo">230</span>            TableName.valueOf(tableMap[i++]));<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    String val = conf.get(option);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    if (null == val) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      return;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    long ms;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    try {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      // first try to parse in user friendly form<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    } catch (ParseException pe) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      try {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        // then see if just a number of ms's was specified<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        ms = Long.parseLong(val);<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      } catch (NumberFormatException nfe) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        throw new IOException(option<a name="line.250"></a>
+<span class="sourceLineNo">251</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.251"></a>
+<span class="sourceLineNo">252</span>            + "or as number of milliseconds");<a name="line.252"></a>
 <span class="sourceLineNo">253</span>      }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    } else {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      // if not mapping is specified map each table to itself<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      tableMap = tables;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + inputDir));<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    job.setJarByClass(WALPlayer.class);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    FileInputFormat.setInputPaths(job, inputDir);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    if (hfileOutPath != null) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // the bulk HFile case<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      if (tables.length != 1) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      }<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      Path outputDir = new Path(hfileOutPath);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          Table table = conn.getTable(tableName);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          com.google.common.base.Preconditions.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    } else {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      // output to live cluster<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      job.setMapperClass(WALMapper.class);<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      TableMapReduceUtil.initCredentials(job);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      // No reducers.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      job.setNumReduceTasks(0);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    }<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    try {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    } catch (Exception e) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    return job;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
-<span class="sourceLineNo">301</span><a name="line.301"></a>
-<span class="sourceLineNo">302</span>  /*<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param errorMsg Error message.  Can be null.<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   */<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  private void usage(final String errorMsg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      System.err.println("ERROR: " + errorMsg);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    }<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    System.err.println("(Careful, even -ROOT- and hbase:meta entries will be imported in that case.)");<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    System.err.println("For performance also consider the following options:\n"<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        + "  -Dmapreduce.map.speculative=false\n"<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        + "  -Dmapreduce.reduce.speculative=false");<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    conf.setLong(option, ms);<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>  /**<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * Sets up the actual job.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   *<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * @param args  The command line parameters.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * @return The newly created job.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * @throws IOException When setting up the job fails.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    Configuration conf = getConf();<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    String inputDirs = args[0];<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    String[] tables = args[1].split(",");<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    String[] tableMap;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    if (args.length &gt; 2) {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      tableMap = args[2].split(",");<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      if (tableMap.length != tables.length) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      // if not mapping is specified map each table to itself<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      tableMap = tables;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    job.setJarByClass(WALPlayer.class);<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    FileInputFormat.addInputPaths(job, inputDirs);<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    if (hfileOutPath != null) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>      // the bulk HFile case<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      if (tables.length != 1) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      }<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      Path outputDir = new Path(hfileOutPath);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>          Table table = conn.getTable(tableName);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          com.google.common.base.Preconditions.class);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    } else {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      // output to live cluster<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      job.setMapperClass(WALMapper.class);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      TableMapReduceUtil.initCredentials(job);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      // No reducers.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      job.setNumReduceTasks(0);<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    try {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    } catch (Exception e) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    return job;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
 <span class="sourceLineNo">330</span><a name="line.330"></a>
 <span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Main entry point.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   *<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @param args  The command line parameters.<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @throws Exception When running the job fails.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static void main(String[] args) throws Exception {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    System.exit(ret);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  }<a name="line.340"></a>
-<span class="sourceLineNo">341</span><a name="line.341"></a>
-<span class="sourceLineNo">342</span>  @Override<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  public int run(String[] args) throws Exception {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (args.length &lt; 2) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      usage("Wrong number of arguments: " + args.length);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      System.exit(-1);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    Job job = createSubmittableJob(args);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  }<a name="line.350"></a>
-<span class="sourceLineNo">351</span>}<a name="line.351"></a>
+<span class="sourceLineNo">332</span>   * Print usage<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @param errorMsg Error message.  Can be null.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  private void usage(final String errorMsg) {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      System.err.println("ERROR: " + errorMsg);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      " in that case.)");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    System.err.println("For performance also consider the following options:\n"<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Main entry point.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   *<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @param args  The command line parameters.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @throws Exception When running the job fails.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public static void main(String[] args) throws Exception {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    System.exit(ret);<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>  @Override<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  public int run(String[] args) throws Exception {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    if (args.length &lt; 2) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      usage("Wrong number of arguments: " + args.length);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>      System.exit(-1);<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    Job job = createSubmittableJob(args);<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">382</span>}<a name="line.382"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaFilter.html
index 9ec0969..d1267c2 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaFilter.html
@@ -38,7 +38,7 @@
 <span class="sourceLineNo">030</span>@InterfaceAudience.Public<a name="line.30"></a>
 <span class="sourceLineNo">031</span>@InterfaceStability.Evolving<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class QuotaFilter {<a name="line.32"></a>
-<span class="sourceLineNo">033</span>  private Set&lt;QuotaType&gt; types = new HashSet&lt;QuotaType&gt;();<a name="line.33"></a>
+<span class="sourceLineNo">033</span>  private Set&lt;QuotaType&gt; types = new HashSet&lt;&gt;();<a name="line.33"></a>
 <span class="sourceLineNo">034</span>  private boolean hasFilters = false;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>  private String namespaceRegex;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>  private String tableRegex;<a name="line.36"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
index ae5a650..f8f7760 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaRetriever.html
@@ -55,7 +55,7 @@
 <span class="sourceLineNo">047</span>public class QuotaRetriever implements Closeable, Iterable&lt;QuotaSettings&gt; {<a name="line.47"></a>
 <span class="sourceLineNo">048</span>  private static final Log LOG = LogFactory.getLog(QuotaRetriever.class);<a name="line.48"></a>
 <span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  private final Queue&lt;QuotaSettings&gt; cache = new LinkedList&lt;QuotaSettings&gt;();<a name="line.50"></a>
+<span class="sourceLineNo">050</span>  private final Queue&lt;QuotaSettings&gt; cache = new LinkedList&lt;&gt;();<a name="line.50"></a>
 <span class="sourceLineNo">051</span>  private ResultScanner scanner;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>  /**<a name="line.52"></a>
 <span class="sourceLineNo">053</span>   * Connection to use.<a name="line.53"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
index 66a6f10..c622985 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.html
@@ -92,7 +92,7 @@
 <span class="sourceLineNo">084</span><a name="line.84"></a>
 <span class="sourceLineNo">085</span>  private static List&lt;QuotaSettings&gt; fromQuotas(final String userName, final TableName tableName,<a name="line.85"></a>
 <span class="sourceLineNo">086</span>      final String namespace, final Quotas quotas) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;QuotaSettings&gt;();<a name="line.87"></a>
+<span class="sourceLineNo">087</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.87"></a>
 <span class="sourceLineNo">088</span>    if (quotas.hasThrottle()) {<a name="line.88"></a>
 <span class="sourceLineNo">089</span>      settings.addAll(fromThrottle(userName, tableName, namespace, quotas.getThrottle()));<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    }<a name="line.90"></a>
@@ -104,7 +104,7 @@
 <span class="sourceLineNo">096</span><a name="line.96"></a>
 <span class="sourceLineNo">097</span>  private static List&lt;QuotaSettings&gt; fromThrottle(final String userName, final TableName tableName,<a name="line.97"></a>
 <span class="sourceLineNo">098</span>      final String namespace, final QuotaProtos.Throttle throttle) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;QuotaSettings&gt;();<a name="line.99"></a>
+<span class="sourceLineNo">099</span>    List&lt;QuotaSettings&gt; settings = new ArrayList&lt;&gt;();<a name="line.99"></a>
 <span class="sourceLineNo">100</span>    if (throttle.hasReqNum()) {<a name="line.100"></a>
 <span class="sourceLineNo">101</span>      settings.add(ThrottleSettings.fromTimedQuota(userName, tableName, namespace,<a name="line.101"></a>
 <span class="sourceLineNo">102</span>          ThrottleType.REQUEST_NUMBER, throttle.getReqNum()));<a name="line.102"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html b/apidocs/src-html/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html
index 3203468..8aaf771 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html
@@ -54,8 +54,8 @@
 <span class="sourceLineNo">046</span>  private long bandwidth = 0;<a name="line.46"></a>
 <span class="sourceLineNo">047</span><a name="line.47"></a>
 <span class="sourceLineNo">048</span>  public ReplicationPeerConfig() {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    this.peerData = new TreeMap&lt;byte[], byte[]&gt;(Bytes.BYTES_COMPARATOR);<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    this.configuration = new HashMap&lt;String, String&gt;(0);<a name="line.50"></a>
+<span class="sourceLineNo">049</span>    this.peerData = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    this.configuration = new HashMap&lt;&gt;(0);<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>  /**<a name="line.53"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/rest/client/Client.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/rest/client/Client.html b/apidocs/src-html/org/apache/hadoop/hbase/rest/client/Client.html
index 93dbe3a..9c9ede6 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/rest/client/Client.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/rest/client/Client.html
@@ -85,7 +85,7 @@
 <span class="sourceLineNo">077</span>  private void initialize(Cluster cluster, boolean sslEnabled) {<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    this.cluster = cluster;<a name="line.78"></a>
 <span class="sourceLineNo">079</span>    this.sslEnabled = sslEnabled;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    extraHeaders = new ConcurrentHashMap&lt;String, String&gt;();<a name="line.80"></a>
+<span class="sourceLineNo">080</span>    extraHeaders = new ConcurrentHashMap&lt;&gt;();<a name="line.80"></a>
 <span class="sourceLineNo">081</span>    String clspath = System.getProperty("java.class.path");<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    LOG.debug("classpath " + clspath);<a name="line.82"></a>
 <span class="sourceLineNo">083</span>    this.httpClient = new DefaultHttpClient();<a name="line.83"></a>


[19/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/ResultScanner.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/ResultScanner.html b/apidocs/src-html/org/apache/hadoop/hbase/client/ResultScanner.html
index d9a4a9a..943ce05 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/ResultScanner.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/ResultScanner.html
@@ -35,96 +35,102 @@
 <span class="sourceLineNo">027</span><a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * Interface for client-side scanning. Go to {@link Table} to obtain instances.<a name="line.32"></a>
-<span class="sourceLineNo">033</span> */<a name="line.33"></a>
-<span class="sourceLineNo">034</span>@InterfaceAudience.Public<a name="line.34"></a>
-<span class="sourceLineNo">035</span>@InterfaceStability.Stable<a name="line.35"></a>
-<span class="sourceLineNo">036</span>public interface ResultScanner extends Closeable, Iterable&lt;Result&gt; {<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>  @Override<a name="line.38"></a>
-<span class="sourceLineNo">039</span>  default Iterator&lt;Result&gt; iterator() {<a name="line.39"></a>
-<span class="sourceLineNo">040</span>    return new Iterator&lt;Result&gt;() {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>      // The next RowResult, possibly pre-read<a name="line.41"></a>
-<span class="sourceLineNo">042</span>      Result next = null;<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>      // return true if there is another item pending, false if there isn't.<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      // this method is where the actual advancing takes place, but you need<a name="line.45"></a>
-<span class="sourceLineNo">046</span>      // to call next() to consume it. hasNext() will only advance if there<a name="line.46"></a>
-<span class="sourceLineNo">047</span>      // isn't a pending next().<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span>      public boolean hasNext() {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>        if (next != null) {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>          return true;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>        }<a name="line.52"></a>
-<span class="sourceLineNo">053</span>        try {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>          return (next = ResultScanner.this.next()) != null;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>        } catch (IOException e) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>          throw new UncheckedIOException(e);<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><a name="line.59"></a>
-<span class="sourceLineNo">060</span>      // get the pending next item and advance the iterator. returns null if<a name="line.60"></a>
-<span class="sourceLineNo">061</span>      // there is no next item.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>      @Override<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      public Result next() {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>        // since hasNext() does the real advancing, we call this to determine<a name="line.64"></a>
-<span class="sourceLineNo">065</span>        // if there is a next before proceeding.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>        if (!hasNext()) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>          return null;<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>        // if we get to here, then hasNext() has given us an item to return.<a name="line.70"></a>
-<span class="sourceLineNo">071</span>        // we want to return the item and then null out the next pointer, so<a name="line.71"></a>
-<span class="sourceLineNo">072</span>        // we use a temporary variable.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>        Result temp = next;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>        next = null;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        return temp;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      }<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    };<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /**<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * Grab the next row's worth of values. The scanner will return a Result.<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * @return Result object if there is another row, null if the scanner is exhausted.<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * @throws IOException e<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  Result next() throws IOException;<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>  /**<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * Get nbRows rows. How many RPCs are made is determined by the {@link Scan#setCaching(int)}<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * setting (or hbase.client.scanner.caching in hbase-site.xml).<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @param nbRows number of rows to return<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @return Between zero and nbRows rowResults. Scan is done if returned array is of zero-length<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   *         (We never return null).<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   * @throws IOException<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  default Result[] next(int nbRows) throws IOException {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    List&lt;Result&gt; resultSets = new ArrayList&lt;&gt;(nbRows);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    for (int i = 0; i &lt; nbRows; i++) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      Result next = next();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      if (next != null) {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>        resultSets.add(next);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      } else {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        break;<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>    return resultSets.toArray(new Result[0]);<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * Closes the scanner and releases any resources it has allocated<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  @Override<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  void close();<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * Allow the client to renew the scanner's lease on the server.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @return true if the lease was successfully renewed, false otherwise.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  boolean renewLease();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>}<a name="line.119"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.metrics.ScanMetrics;<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> * Interface for client-side scanning. Go to {@link Table} to obtain instances.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> */<a name="line.34"></a>
+<span class="sourceLineNo">035</span>@InterfaceAudience.Public<a name="line.35"></a>
+<span class="sourceLineNo">036</span>@InterfaceStability.Stable<a name="line.36"></a>
+<span class="sourceLineNo">037</span>public interface ResultScanner extends Closeable, Iterable&lt;Result&gt; {<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>  @Override<a name="line.39"></a>
+<span class="sourceLineNo">040</span>  default Iterator&lt;Result&gt; iterator() {<a name="line.40"></a>
+<span class="sourceLineNo">041</span>    return new Iterator&lt;Result&gt;() {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>      // The next RowResult, possibly pre-read<a name="line.42"></a>
+<span class="sourceLineNo">043</span>      Result next = null;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>      // return true if there is another item pending, false if there isn't.<a name="line.45"></a>
+<span class="sourceLineNo">046</span>      // this method is where the actual advancing takes place, but you need<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      // to call next() to consume it. hasNext() will only advance if there<a name="line.47"></a>
+<span class="sourceLineNo">048</span>      // isn't a pending next().<a name="line.48"></a>
+<span class="sourceLineNo">049</span>      @Override<a name="line.49"></a>
+<span class="sourceLineNo">050</span>      public boolean hasNext() {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>        if (next != null) {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>          return true;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>        }<a name="line.53"></a>
+<span class="sourceLineNo">054</span>        try {<a name="line.54"></a>
+<span class="sourceLineNo">055</span>          return (next = ResultScanner.this.next()) != null;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>        } catch (IOException e) {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>          throw new UncheckedIOException(e);<a name="line.57"></a>
+<span class="sourceLineNo">058</span>        }<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      }<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>      // get the pending next item and advance the iterator. returns null if<a name="line.61"></a>
+<span class="sourceLineNo">062</span>      // there is no next item.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      @Override<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      public Result next() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        // since hasNext() does the real advancing, we call this to determine<a name="line.65"></a>
+<span class="sourceLineNo">066</span>        // if there is a next before proceeding.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        if (!hasNext()) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>          return null;<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>        // if we get to here, then hasNext() has given us an item to return.<a name="line.71"></a>
+<span class="sourceLineNo">072</span>        // we want to return the item and then null out the next pointer, so<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        // we use a temporary variable.<a name="line.73"></a>
+<span class="sourceLineNo">074</span>        Result temp = next;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        next = null;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>        return temp;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      }<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    };<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  }<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>   * Grab the next row's worth of values. The scanner will return a Result.<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @return Result object if there is another row, null if the scanner is exhausted.<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * @throws IOException e<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  Result next() throws IOException;<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  /**<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * Get nbRows rows. How many RPCs are made is determined by the {@link Scan#setCaching(int)}<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * setting (or hbase.client.scanner.caching in hbase-site.xml).<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @param nbRows number of rows to return<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * @return Between zero and nbRows rowResults. Scan is done if returned array is of zero-length<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   *         (We never return null).<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * @throws IOException<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   */<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  default Result[] next(int nbRows) throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    List&lt;Result&gt; resultSets = new ArrayList&lt;&gt;(nbRows);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    for (int i = 0; i &lt; nbRows; i++) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      Result next = next();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      if (next != null) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        resultSets.add(next);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      } else {<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>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    return resultSets.toArray(new Result[0]);<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>  /**<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * Closes the scanner and releases any resources it has allocated<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>  void close();<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * Allow the client to renew the scanner's lease on the server.<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * @return true if the lease was successfully renewed, false otherwise.<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  boolean renewLease();<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>   * @return the scan metrics, or {@code null} if we do not enable metrics.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  ScanMetrics getScanMetrics();<a name="line.124"></a>
+<span class="sourceLineNo">125</span>}<a name="line.125"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.html b/apidocs/src-html/org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.html
index f71660f..523ef01 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/RetriesExhaustedWithDetailsException.html
@@ -118,7 +118,7 @@
 <span class="sourceLineNo">110</span>    String s = getDesc(classifyExs(exceptions));<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    StringBuilder addrs = new StringBuilder(s);<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    addrs.append("servers with issues: ");<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    Set&lt;String&gt; uniqAddr = new HashSet&lt;String&gt;();<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    Set&lt;String&gt; uniqAddr = new HashSet&lt;&gt;();<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    uniqAddr.addAll(hostnamePort);<a name="line.114"></a>
 <span class="sourceLineNo">115</span><a name="line.115"></a>
 <span class="sourceLineNo">116</span>    for(String addr : uniqAddr) {<a name="line.116"></a>
@@ -151,7 +151,7 @@
 <span class="sourceLineNo">143</span><a name="line.143"></a>
 <span class="sourceLineNo">144</span><a name="line.144"></a>
 <span class="sourceLineNo">145</span>  public static Map&lt;String, Integer&gt; classifyExs(List&lt;Throwable&gt; ths) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Map&lt;String, Integer&gt; cls = new HashMap&lt;String, Integer&gt;();<a name="line.146"></a>
+<span class="sourceLineNo">146</span>    Map&lt;String, Integer&gt; cls = new HashMap&lt;&gt;();<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    for (Throwable t : ths) {<a name="line.147"></a>
 <span class="sourceLineNo">148</span>      if (t == null) continue;<a name="line.148"></a>
 <span class="sourceLineNo">149</span>      String name = "";<a name="line.149"></a>


[46/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/CellUtil.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/CellUtil.html b/apidocs/org/apache/hadoop/hbase/CellUtil.html
index 22c98a3..1c43554 100644
--- a/apidocs/org/apache/hadoop/hbase/CellUtil.html
+++ b/apidocs/org/apache/hadoop/hbase/CellUtil.html
@@ -1278,7 +1278,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/By
 <ul class="blockList">
 <li class="blockList">
 <h4>createCellScanner</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1064">createCellScanner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends org.apache.hadoop.hbase.CellScannable&gt;&nbsp;cellScannerables)</pre>
+<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1029">createCellScanner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends org.apache.hadoop.hbase.CellScannable&gt;&nbsp;cellScannerables)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>cellScannerables</code> - </dd>
@@ -1293,7 +1293,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/By
 <ul class="blockList">
 <li class="blockList">
 <h4>createCellScanner</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1093">createCellScanner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cellIterable)</pre>
+<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1058">createCellScanner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cellIterable)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>cellIterable</code> - </dd>
@@ -1308,7 +1308,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/By
 <ul class="blockList">
 <li class="blockList">
 <h4>createCellScanner</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1103">createCellScanner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)</pre>
+<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1068">createCellScanner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>cells</code> - </dd>
@@ -1324,7 +1324,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/By
 <ul class="blockList">
 <li class="blockList">
 <h4>createCellScanner</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1127">createCellScanner</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;cellArray)</pre>
+<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1092">createCellScanner</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>[]&nbsp;cellArray)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>cellArray</code> - </dd>
@@ -1339,7 +1339,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/By
 <ul class="blockList">
 <li class="blockList">
 <h4>createCellScanner</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1152">createCellScanner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</pre>
+<pre>public static&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1117">createCellScanner</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</pre>
 <div class="block">Flatten the map of cells out under the CellScanner</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1357,7 +1357,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/By
 <li class="blockList">
 <h4>matchingRow</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1189">matchingRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1154">matchingRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                               <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="../../../../org/apache/hadoop/hbase/CellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-"><code>matchingRows(Cell, Cell)</code></a></span></div>
@@ -1376,7 +1376,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingRow</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1193">matchingRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1158">matchingRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                   byte[]&nbsp;buf)</pre>
 </li>
 </ul>
@@ -1386,7 +1386,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingRow</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1200">matchingRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1165">matchingRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                   byte[]&nbsp;buf,
                                   int&nbsp;offset,
                                   int&nbsp;length)</pre>
@@ -1398,7 +1398,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingFamily</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1211">matchingFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1176">matchingFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                      <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 </li>
 </ul>
@@ -1408,7 +1408,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingFamily</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1234">matchingFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1199">matchingFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                      byte[]&nbsp;buf)</pre>
 </li>
 </ul>
@@ -1418,7 +1418,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingFamily</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1241">matchingFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1206">matchingFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                      byte[]&nbsp;buf,
                                      int&nbsp;offset,
                                      int&nbsp;length)</pre>
@@ -1430,7 +1430,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingQualifier</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1252">matchingQualifier</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1217">matchingQualifier</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                         <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 </li>
 </ul>
@@ -1440,7 +1440,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingQualifier</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1283">matchingQualifier</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1248">matchingQualifier</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                         byte[]&nbsp;buf)</pre>
 <div class="block">Finds if the qualifier part of the cell and the KV serialized
  byte[] are equal</div>
@@ -1459,7 +1459,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingQualifier</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1299">matchingQualifier</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1264">matchingQualifier</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                         byte[]&nbsp;buf,
                                         int&nbsp;offset,
                                         int&nbsp;length)</pre>
@@ -1482,7 +1482,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingColumn</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1313">matchingColumn</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1278">matchingColumn</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                      byte[]&nbsp;fam,
                                      byte[]&nbsp;qual)</pre>
 </li>
@@ -1493,7 +1493,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingColumn</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1319">matchingColumn</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1284">matchingColumn</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                      byte[]&nbsp;fam,
                                      int&nbsp;foffset,
                                      int&nbsp;flength,
@@ -1508,7 +1508,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingColumn</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1326">matchingColumn</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1291">matchingColumn</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                      <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 </li>
 </ul>
@@ -1518,7 +1518,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingValue</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1332">matchingValue</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1297">matchingValue</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                     <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 </li>
 </ul>
@@ -1528,7 +1528,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingValue</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1336">matchingValue</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1301">matchingValue</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                     <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
                                     int&nbsp;lvlength,
                                     int&nbsp;rvlength)</pre>
@@ -1540,7 +1540,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingValue</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1358">matchingValue</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1323">matchingValue</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                     byte[]&nbsp;buf)</pre>
 </li>
 </ul>
@@ -1550,7 +1550,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>isDelete</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1373">isDelete</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1338">isDelete</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>True if a delete type, a <code>KeyValue.Type.Delete</code> or a
@@ -1565,7 +1565,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>isDelete</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1382">isDelete</a>(byte&nbsp;type)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1347">isDelete</a>(byte&nbsp;type)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>True if a delete type, a <code>KeyValue.Type.Delete</code> or a
@@ -1580,7 +1580,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>isDeleteType</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1390">isDeleteType</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1355">isDeleteType</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>True if this cell is a <code>KeyValue.Type.Delete</code> type.</dd>
@@ -1593,7 +1593,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>isDeleteFamily</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1394">isDeleteFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1359">isDeleteFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="isDeleteFamilyVersion-org.apache.hadoop.hbase.Cell-">
@@ -1602,7 +1602,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>isDeleteFamilyVersion</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1398">isDeleteFamilyVersion</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1363">isDeleteFamilyVersion</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="isDeleteColumns-org.apache.hadoop.hbase.Cell-">
@@ -1611,7 +1611,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>isDeleteColumns</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1402">isDeleteColumns</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1367">isDeleteColumns</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="isDeleteColumnVersion-org.apache.hadoop.hbase.Cell-">
@@ -1620,7 +1620,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>isDeleteColumnVersion</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1406">isDeleteColumnVersion</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1371">isDeleteColumnVersion</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="isDeleteColumnOrFamily-org.apache.hadoop.hbase.Cell-">
@@ -1629,7 +1629,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>isDeleteColumnOrFamily</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1414">isDeleteColumnOrFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1379">isDeleteColumnOrFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>True if this cell is a delete family or column type.</dd>
@@ -1642,7 +1642,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>estimatedSerializedSizeOf</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1424">estimatedSerializedSizeOf</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1389">estimatedSerializedSizeOf</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Estimate based on keyvalue's serialization format.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1658,7 +1658,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>estimatedSerializedSizeOfKey</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1464">estimatedSerializedSizeOfKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1429">estimatedSerializedSizeOfKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Calculates the serialized key size. We always serialize in the KeyValue's serialization
  format.</div>
 <dl>
@@ -1675,7 +1675,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <ul class="blockList">
 <li class="blockList">
 <h4>estimatedHeapSizeOf</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1479">estimatedHeapSizeOf</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1444">estimatedHeapSizeOf</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">This is an estimate of the heap space occupied by a cell. When the cell is of type
  <code>HeapSize</code> we call <code>HeapSize.heapSize()</code> so cell can give a correct value. In other
  cases we just consider the bytes occupied by the cell components ie. row, CF, qualifier,
@@ -1695,7 +1695,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/
 <li class="blockList">
 <h4>tagsIterator</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;org.apache.hadoop.hbase.Tag&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1499">tagsIterator</a>(byte[]&nbsp;tags,
+public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;org.apache.hadoop.hbase.Tag&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1464">tagsIterator</a>(byte[]&nbsp;tags,
                                                                              int&nbsp;offset,
                                                                              int&nbsp;length)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of 2.0.0 and will be removed in 3.0.0
@@ -1717,7 +1717,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>tagsIterator</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;org.apache.hadoop.hbase.Tag&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1581">tagsIterator</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;org.apache.hadoop.hbase.Tag&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1546">tagsIterator</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Util method to iterate through the tags in the given cell.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1733,7 +1733,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getTags</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.Tag&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1598">getTags</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.Tag&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1563">getTags</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>cell</code> - The Cell</dd>
@@ -1748,7 +1748,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getTag</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.Tag&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1614">getTag</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;org.apache.hadoop.hbase.Tag&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1579">getTag</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                                  byte&nbsp;type)</pre>
 <div class="block">Retrieve Cell's first tag, matching the passed in type</div>
 <dl>
@@ -1766,7 +1766,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>overlappingKeys</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1642">overlappingKeys</a>(byte[]&nbsp;start1,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1607">overlappingKeys</a>(byte[]&nbsp;start1,
                                       byte[]&nbsp;end1,
                                       byte[]&nbsp;start2,
                                       byte[]&nbsp;end2)</pre>
@@ -1780,7 +1780,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimestamp</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1674">setTimestamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1639">setTimestamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                 long&nbsp;ts)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Sets the given timestamp to the cell.</div>
@@ -1799,7 +1799,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimestamp</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1690">setTimestamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1655">setTimestamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                 byte[]&nbsp;ts,
                                 int&nbsp;tsOffset)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1820,7 +1820,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>updateLatestStamp</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1707">updateLatestStamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1672">updateLatestStamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                         long&nbsp;ts)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Sets the given timestamp to the cell iff current timestamp is
@@ -1842,7 +1842,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>updateLatestStamp</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1724">updateLatestStamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1689">updateLatestStamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                         byte[]&nbsp;ts,
                                         int&nbsp;tsOffset)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1866,7 +1866,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeFlatKey</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1740">writeFlatKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1705">writeFlatKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes the Cell's key part as it would have serialized in a KeyValue. The format is &lt;2 bytes
@@ -1887,7 +1887,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeFlatKey</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1766">writeFlatKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1731">writeFlatKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                <a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1902,7 +1902,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRow</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1801">writeRow</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1766">writeRow</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
                             <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                             short&nbsp;rlength)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1923,7 +1923,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRowSkippingBytes</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1817">writeRowSkippingBytes</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1782">writeRowSkippingBytes</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                                          <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                          short&nbsp;rlength,
                                          int&nbsp;commonPrefix)
@@ -1945,7 +1945,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeFamily</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1834">writeFamily</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1799">writeFamily</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
                                <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                byte&nbsp;flength)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1966,7 +1966,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeQualifier</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1850">writeQualifier</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1815">writeQualifier</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
                                   <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                   int&nbsp;qlength)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1987,7 +1987,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeQualifierSkippingBytes</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1867">writeQualifierSkippingBytes</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1832">writeQualifierSkippingBytes</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                                                <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                                int&nbsp;qlength,
                                                int&nbsp;commonPrefix)
@@ -2009,7 +2009,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeValue</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1885">writeValue</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1850">writeValue</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
                               <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                               int&nbsp;vlength)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2030,7 +2030,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeTags</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1901">writeTags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1866">writeTags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
                              <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                              int&nbsp;tagsLength)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2051,7 +2051,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellKeyAsString</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1914">getCellKeyAsString</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1879">getCellKeyAsString</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>cell</code> - </dd>
@@ -2066,7 +2066,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellKeySerializedAsKeyValueKey</h4>
-<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1946">getCellKeySerializedAsKeyValueKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1911">getCellKeySerializedAsKeyValueKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">This method exists just to encapsulate how we serialize keys.  To be replaced by a factory
  that we query to figure what the Cell implementation is and then, what serialization engine
  to use and further, how to serialize the key for inclusion in hfile index. TODO.</div>
@@ -2085,7 +2085,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRowKeyExcludingCommon</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1961">writeRowKeyExcludingCommon</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1926">writeRowKeyExcludingCommon</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                               short&nbsp;rLen,
                                               int&nbsp;commonPrefix,
                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out)
@@ -2108,7 +2108,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>findCommonPrefixInFlatKey</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1991">findCommonPrefixInFlatKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c1,
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.1956">findCommonPrefixInFlatKey</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c1,
                                             <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c2,
                                             boolean&nbsp;bypassFamilyCheck,
                                             boolean&nbsp;withTsType)</pre>
@@ -2133,7 +2133,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2083">toString</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2048">toString</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                               boolean&nbsp;verbose)</pre>
 <div class="block">Returns a string representation of the cell</div>
 </li>
@@ -2144,7 +2144,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>equalsIgnoreMvccVersion</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2120">equalsIgnoreMvccVersion</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2085">equalsIgnoreMvccVersion</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
                                               <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;b)</pre>
 <div class="block">special case for Cell.equals</div>
 </li>
@@ -2155,7 +2155,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2144">equals</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2109">equals</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
                              <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;b)</pre>
 <div class="block">equals</div>
 </li>
@@ -2166,7 +2166,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingTimestamp</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2149">matchingTimestamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2114">matchingTimestamp</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
                                         <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;b)</pre>
 </li>
 </ul>
@@ -2176,7 +2176,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingType</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2153">matchingType</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2118">matchingType</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
                                    <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;b)</pre>
 </li>
 </ul>
@@ -2186,7 +2186,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingRows</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2164">matchingRows</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2129">matchingRows</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                    <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 <div class="block">Compares the row of two keyvalues for equality</div>
 <dl>
@@ -2204,7 +2204,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>matchingRowColumn</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2195">matchingRowColumn</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2160">matchingRowColumn</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                                         <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 <div class="block">Compares the row and column of two keyvalues for equality</div>
 <dl>
@@ -2222,7 +2222,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowAsInt</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2213">getRowAsInt</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2178">getRowAsInt</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Converts the rowkey bytes of the given cell into an int value</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2238,7 +2238,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsLong</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2227">getValueAsLong</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2192">getValueAsLong</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Converts the value bytes of the given cell into a long value</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2254,7 +2254,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsInt</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2241">getValueAsInt</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2206">getValueAsInt</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Converts the value bytes of the given cell into a int value</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2270,7 +2270,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsDouble</h4>
-<pre>public static&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2255">getValueAsDouble</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2220">getValueAsDouble</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Converts the value bytes of the given cell into a double value</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2286,7 +2286,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueAsBigDecimal</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2269">getValueAsBigDecimal</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2234">getValueAsBigDecimal</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Converts the value bytes of the given cell into a BigDecimal</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2302,7 +2302,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2283">createFirstOnRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2248">createFirstOnRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Create a Cell that is smaller than all other possible Cells for the given Cell's row.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2318,7 +2318,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2291">createFirstOnRow</a>(byte[]&nbsp;row,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2256">createFirstOnRow</a>(byte[]&nbsp;row,
                                     int&nbsp;roffset,
                                     short&nbsp;rlength)</pre>
 </li>
@@ -2329,7 +2329,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2295">createFirstOnRow</a>(byte[]&nbsp;row,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2260">createFirstOnRow</a>(byte[]&nbsp;row,
                                     byte[]&nbsp;family,
                                     byte[]&nbsp;col)</pre>
 </li>
@@ -2340,7 +2340,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2301">createFirstOnRow</a>(byte[]&nbsp;row,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2266">createFirstOnRow</a>(byte[]&nbsp;row,
                                     int&nbsp;roffset,
                                     short&nbsp;rlength,
                                     byte[]&nbsp;family,
@@ -2357,7 +2357,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2309">createFirstOnRow</a>(byte[]&nbsp;row)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2274">createFirstOnRow</a>(byte[]&nbsp;row)</pre>
 </li>
 </ul>
 <a name="createFirstOnRowFamily-org.apache.hadoop.hbase.Cell-byte:A-int-int-">
@@ -2366,7 +2366,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRowFamily</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2317">createFirstOnRowFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2282">createFirstOnRowFamily</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                           byte[]&nbsp;fArray,
                                           int&nbsp;foff,
                                           int&nbsp;flen)</pre>
@@ -2383,7 +2383,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRowCol</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2333">createFirstOnRowCol</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2298">createFirstOnRowCol</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Create a Cell that is smaller than all other possible Cells for the given Cell's row.
  The family length is considered to be 0</div>
 <dl>
@@ -2400,7 +2400,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnNextRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2349">createFirstOnNextRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2314">createFirstOnNextRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Create a Cell that is smaller than all other possible Cells for the given Cell row's next row.
  Makes the next row's rowkey by appending single byte 0x00 to the end of current row key.</div>
 </li>
@@ -2411,7 +2411,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRowCol</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2366">createFirstOnRowCol</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2331">createFirstOnRowCol</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                        byte[]&nbsp;qArray,
                                        int&nbsp;qoffest,
                                        int&nbsp;qlength)</pre>
@@ -2434,7 +2434,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstOnRowColTS</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2387">createFirstOnRowColTS</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2352">createFirstOnRowColTS</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                          long&nbsp;ts)</pre>
 <div class="block">Creates the first cell with the row/family/qualifier of this cell and the given timestamp.
  Uses the "maximum" type that guarantees that the new cell is the lowest possible for this
@@ -2452,7 +2452,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createLastOnRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2408">createLastOnRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2373">createLastOnRow</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Create a Cell that is larger than all other possible Cells for the given Cell's row.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2468,7 +2468,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createLastOnRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2416">createLastOnRow</a>(byte[]&nbsp;row)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2381">createLastOnRow</a>(byte[]&nbsp;row)</pre>
 </li>
 </ul>
 <a name="createLastOnRowCol-org.apache.hadoop.hbase.Cell-">
@@ -2477,7 +2477,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createLastOnRowCol</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2428">createLastOnRowCol</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2393">createLastOnRowCol</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Create a Cell that is larger than all other possible Cells for the given Cell's rk:cf:q. Used
  in creating "fake keys" for the multi-column Bloom filter optimization to skip the row/column
  we already know is not in the file.</div>
@@ -2495,7 +2495,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockList">
 <li class="blockList">
 <h4>createFirstDeleteFamilyCellOnRow</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2451">createFirstDeleteFamilyCellOnRow</a>(byte[]&nbsp;row,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.2416">createFirstDeleteFamilyCellOnRow</a>(byte[]&nbsp;row,
                                                     byte[]&nbsp;fam)</pre>
 <div class="block">Create a Delete Family Cell for the specified row and family that would
  be smaller than all other possible Delete Family KeyValues that have the
@@ -2516,7 +2516,7 @@ public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/I
 <ul class="blockListLast">
 <li class="blockList">
 <h4>copyCellTo</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.3181">copyCellTo</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellUtil.html#line.3146">copyCellTo</a>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buf,
                               int&nbsp;offset,
                               int&nbsp;len)</pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/HBaseInterfaceAudience.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/HBaseInterfaceAudience.html b/apidocs/org/apache/hadoop/hbase/HBaseInterfaceAudience.html
index 922aaab..f4ee77f 100644
--- a/apidocs/org/apache/hadoop/hbase/HBaseInterfaceAudience.html
+++ b/apidocs/org/apache/hadoop/hbase/HBaseInterfaceAudience.html
@@ -146,6 +146,10 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HBaseInterfaceAudience.html#SPARK">SPARK</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HBaseInterfaceAudience.html#TOOLS">TOOLS</a></span></code>
 <div class="block">Denotes classes used as tools (Used from cmd line).</div>
 </td>
@@ -219,13 +223,26 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </dl>
 </li>
 </ul>
+<a name="SPARK">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SPARK</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html#line.38">SPARK</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HBaseInterfaceAudience.SPARK">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="CONFIG">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>CONFIG</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html#line.41">CONFIG</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html#line.43">CONFIG</a></pre>
 <div class="block">Denotes class names that appear in user facing configuration files.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -239,7 +256,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TOOLS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html#line.47">TOOLS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseInterfaceAudience.html#line.49">TOOLS</a></pre>
 <div class="block">Denotes classes used as tools (Used from cmd line). Usually, the compatibility is required
  for class name, and arguments.</div>
 <dl>


[48/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index f8eba53..9d8495c 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
   /Author (Apache HBase Team)
   /Subject ()
   /Keywords ()
-  /ModDate (D:20170217144957)
-  /CreationDate (D:20170217144957)
+  /ModDate (D:20170321142451)
+  /CreationDate (D:20170321142451)
   /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
   /Producer ()
   /DOCINFO pdfmark

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/apidocs/allclasses-frame.html b/apidocs/allclasses-frame.html
index efd05d0..72c3a4e 100644
--- a/apidocs/allclasses-frame.html
+++ b/apidocs/allclasses-frame.html
@@ -249,6 +249,8 @@
 <li><a href="org/apache/hadoop/hbase/types/RawInteger.html" title="class in org.apache.hadoop.hbase.types" target="classFrame">RawInteger</a></li>
 <li><a href="org/apache/hadoop/hbase/types/RawLong.html" title="class in org.apache.hadoop.hbase.types" target="classFrame">RawLong</a></li>
 <li><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RawScanResultConsumer</span></a></li>
+<li><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RawScanResultConsumer.ScanController</span></a></li>
+<li><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client" target="classFrame"><span class="interfaceName">RawScanResultConsumer.ScanResumer</span></a></li>
 <li><a href="org/apache/hadoop/hbase/types/RawShort.html" title="class in org.apache.hadoop.hbase.types" target="classFrame">RawShort</a></li>
 <li><a href="org/apache/hadoop/hbase/types/RawString.html" title="class in org.apache.hadoop.hbase.types" target="classFrame">RawString</a></li>
 <li><a href="org/apache/hadoop/hbase/types/RawStringFixedLength.html" title="class in org.apache.hadoop.hbase.types" target="classFrame">RawStringFixedLength</a></li>
@@ -309,6 +311,7 @@
 <li><a href="org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase" target="classFrame">ServerName</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">ServerNotRunningYetException</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerTooBusyException.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">ServerTooBusyException</a></li>
+<li><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">ShortCircuitMasterConnection</a></li>
 <li><a href="org/apache/hadoop/hbase/util/SimpleByteRange.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">SimpleByteRange</a></li>
 <li><a href="org/apache/hadoop/hbase/util/SimpleMutableByteRange.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">SimpleMutableByteRange</a></li>
 <li><a href="org/apache/hadoop/hbase/util/SimplePositionedByteRange.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">SimplePositionedByteRange</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/apidocs/allclasses-noframe.html b/apidocs/allclasses-noframe.html
index c64c1a8..6593100 100644
--- a/apidocs/allclasses-noframe.html
+++ b/apidocs/allclasses-noframe.html
@@ -249,6 +249,8 @@
 <li><a href="org/apache/hadoop/hbase/types/RawInteger.html" title="class in org.apache.hadoop.hbase.types">RawInteger</a></li>
 <li><a href="org/apache/hadoop/hbase/types/RawLong.html" title="class in org.apache.hadoop.hbase.types">RawLong</a></li>
 <li><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="interfaceName">RawScanResultConsumer</span></a></li>
+<li><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client"><span class="interfaceName">RawScanResultConsumer.ScanController</span></a></li>
+<li><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="interfaceName">RawScanResultConsumer.ScanResumer</span></a></li>
 <li><a href="org/apache/hadoop/hbase/types/RawShort.html" title="class in org.apache.hadoop.hbase.types">RawShort</a></li>
 <li><a href="org/apache/hadoop/hbase/types/RawString.html" title="class in org.apache.hadoop.hbase.types">RawString</a></li>
 <li><a href="org/apache/hadoop/hbase/types/RawStringFixedLength.html" title="class in org.apache.hadoop.hbase.types">RawStringFixedLength</a></li>
@@ -309,6 +311,7 @@
 <li><a href="org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc">ServerNotRunningYetException</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerTooBusyException.html" title="class in org.apache.hadoop.hbase.ipc">ServerTooBusyException</a></li>
+<li><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></li>
 <li><a href="org/apache/hadoop/hbase/util/SimpleByteRange.html" title="class in org.apache.hadoop.hbase.util">SimpleByteRange</a></li>
 <li><a href="org/apache/hadoop/hbase/util/SimpleMutableByteRange.html" title="class in org.apache.hadoop.hbase.util">SimpleMutableByteRange</a></li>
 <li><a href="org/apache/hadoop/hbase/util/SimplePositionedByteRange.html" title="class in org.apache.hadoop.hbase.util">SimplePositionedByteRange</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html
index 178d0a2..040fc68 100644
--- a/apidocs/constant-values.html
+++ b/apidocs/constant-values.html
@@ -119,6 +119,13 @@
 <td class="colLast"><code>"Replication"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.HBaseInterfaceAudience.SPARK">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/HBaseInterfaceAudience.html#SPARK">SPARK</a></code></td>
+<td class="colLast"><code>"Spark"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HBaseInterfaceAudience.TOOLS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
@@ -3794,26 +3801,26 @@
 <td class="colLast"><code>"create.table"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.IGNORE_UNMATCHED_CF_CONF_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#IGNORE_UNMATCHED_CF_CONF_KEY">IGNORE_UNMATCHED_CF_CONF_KEY</a></code></td>
+<td class="colLast"><code>"ignore.unmatched.families"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.MAX_FILES_PER_REGION_PER_FAMILY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#MAX_FILES_PER_REGION_PER_FAMILY">MAX_FILES_PER_REGION_PER_FAMILY</a></code></td>
 <td class="colLast"><code>"hbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#NAME">NAME</a></code></td>
 <td class="colLast"><code>"completebulkload"</code></td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.SILENCE_CONF_KEY">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#SILENCE_CONF_KEY">SILENCE_CONF_KEY</a></code></td>
-<td class="colLast"><code>"ignore.unmatched.families"</code></td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -4156,6 +4163,39 @@
 </tbody>
 </table>
 </li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html" title="class in org.apache.hadoop.hbase.mapreduce">WALPlayer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.BULK_OUTPUT_CONF_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#BULK_OUTPUT_CONF_KEY">BULK_OUTPUT_CONF_KEY</a></code></td>
+<td class="colLast"><code>"wal.bulk.output"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.TABLE_MAP_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#TABLE_MAP_KEY">TABLE_MAP_KEY</a></code></td>
+<td class="colLast"><code>"wal.input.tablesmap"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.TABLES_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#TABLES_KEY">TABLES_KEY</a></code></td>
+<td class="colLast"><code>"wal.input.tables"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
 </ul>
 <ul class="blockList">
 <li class="blockList">
@@ -4714,10 +4754,10 @@
 <td class="colLast"><code>"default"</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.rsgroup.RSGroupInfo.NAMESPACEDESC_PROP_GROUP">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.rsgroup.RSGroupInfo.NAMESPACE_DESC_PROP_GROUP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#NAMESPACEDESC_PROP_GROUP">NAMESPACEDESC_PROP_GROUP</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#NAMESPACE_DESC_PROP_GROUP">NAMESPACE_DESC_PROP_GROUP</a></code></td>
 <td class="colLast"><code>"hbase.rsgroup.name"</code></td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/deprecated-list.html
----------------------------------------------------------------------
diff --git a/apidocs/deprecated-list.html b/apidocs/deprecated-list.html
index eabb570..987f686 100644
--- a/apidocs/deprecated-list.html
+++ b/apidocs/deprecated-list.html
@@ -368,87 +368,94 @@
 <td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#getRpcTimeout--">org.apache.hadoop.hbase.rest.client.RemoteHTable.getRpcTimeout()</a></td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">org.apache.hadoop.hbase.client.Scan.getScanMetrics()</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
+             use this method and <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
+             will be messed up.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerName-java.lang.String-long-">org.apache.hadoop.hbase.ServerName.getServerName(String, long)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-long-"><code>ServerName.valueOf(String, long)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerNameLessStartCode-java.lang.String-">org.apache.hadoop.hbase.ServerName.getServerNameLessStartCode(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#getAddress--"><code>ServerName.getAddress()</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#getServerStartcodeFromServerName-java.lang.String-">org.apache.hadoop.hbase.ServerName.getServerStartcodeFromServerName(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use instance of ServerName to pull out start code.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#getSize--">org.apache.hadoop.hbase.util.Bytes.getSize()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/util/Bytes.html#getLength--"><code>Bytes.getLength()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getSize--">org.apache.hadoop.hbase.io.ImmutableBytesWritable.getSize()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getLength--"><code>ImmutableBytesWritable.getLength()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/SnapshotDescription.html#getTable--">org.apache.hadoop.hbase.client.SnapshotDescription.getTable()</a>
 <div class="block"><span class="deprecationComment">Use getTableName() or getTableNameAsString() instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#getTableDir-org.apache.hadoop.fs.Path-byte:A-">org.apache.hadoop.hbase.HTableDescriptor.getTableDir(Path, byte[])</a></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#getWriteBufferSize--">org.apache.hadoop.hbase.client.Table.getWriteBufferSize()</a>
 <div class="block"><span class="deprecationComment">as of 1.0.1 (should not have been in 1.0.0). Replaced by <a href="org/apache/hadoop/hbase/client/BufferedMutator.html#getWriteBufferSize--"><code>BufferedMutator.getWriteBufferSize()</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster-org.apache.hadoop.mapreduce.Job-java.lang.String-">org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initCredentialsForCluster(Job, String)</a>
 <div class="block"><span class="deprecationComment">Since 1.2.0, use <a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster-org.apache.hadoop.mapreduce.Job-org.apache.hadoop.conf.Configuration-"><code>TableMapReduceUtil.initCredentialsForCluster(Job, Configuration)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Get.html#isClosestRowBefore--">org.apache.hadoop.hbase.client.Get.isClosestRowBefore()</a>
 <div class="block"><span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#isPartial--">org.apache.hadoop.hbase.client.Result.isPartial()</a>
 <div class="block"><span class="deprecationComment">the word 'partial' ambiguous, use <a href="org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--"><code>Result.mayHaveMoreCellsInRow()</code></a> instead.
              Deprecated since 1.4.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#isSmall--">org.apache.hadoop.hbase.client.Scan.isSmall()</a>
 <div class="block"><span class="deprecationComment">since 2.0.0. See the comment of <a href="org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-"><code>Scan.setSmall(boolean)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listPeerConfigs--">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listPeerConfigs()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#listReplicationPeers--"><code>Admin.listReplicationPeers()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listReplicated--">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listReplicated()</a>
 <div class="block"><span class="deprecationComment">use <a href="org/apache/hadoop/hbase/client/Admin.html#listReplicatedTableCFs--"><code>Admin.listReplicatedTableCFs()</code></a> instead</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#matchingRow-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">org.apache.hadoop.hbase.CellUtil.matchingRow(Cell, Cell)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Instead use <a href="org/apache/hadoop/hbase/CellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-"><code>CellUtil.matchingRows(Cell, Cell)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#mergeRegions-byte:A-byte:A-boolean-">org.apache.hadoop.hbase.client.Admin.mergeRegions(byte[], byte[], boolean)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Will be removed in 3.0. Use
      <a href="org/apache/hadoop/hbase/client/Admin.html#mergeRegionsAsync-byte:A-byte:A-boolean-"><code>Admin.mergeRegionsAsync(byte[], byte[], boolean)</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">org.apache.hadoop.hbase.client.Admin.modifyColumn(TableName, HColumnDescriptor)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0.
              (<a href="https://issues.apache.org/jira/browse/HBASE-1989">HBASE-1989</a>).
@@ -456,26 +463,29 @@
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-"><code>Admin.modifyColumnFamily(TableName, HColumnDescriptor)</code></a>.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parseHostname-java.lang.String-">org.apache.hadoop.hbase.ServerName.parseHostname(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parsePort-java.lang.String-">org.apache.hadoop.hbase.ServerName.parsePort(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/ServerName.html#parseStartcode-java.lang.String-">org.apache.hadoop.hbase.ServerName.parseStartcode(String)</a>
 <div class="block"><span class="deprecationComment">Since 2.0. Use <a href="org/apache/hadoop/hbase/ServerName.html#valueOf-java.lang.String-"><code>ServerName.valueOf(String)</code></a></span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#parseTableCFsFromConfig-java.lang.String-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.parseTableCFsFromConfig(String)</a>
 <div class="block"><span class="deprecationComment">as release of 2.0.0, and it will be removed in 3.0.0</span></div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#peerAdded-java.lang.String-">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.peerAdded(String)</a></td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-byte:A-java.util.List-">org.apache.hadoop.hbase.client.HTableMultiplexer.put(byte[], List&lt;Put&gt;)</a>
 <div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-org.apache.hadoop.hbase.TableName-java.util.List-"><code>HTableMultiplexer.put(TableName, List)</code></a> instead.</span></div>


[22/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html
index 610fff9..c58b6a61 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Mutation.html
@@ -100,484 +100,482 @@
 <span class="sourceLineNo">092</span>  protected Durability durability = Durability.USE_DEFAULT;<a name="line.92"></a>
 <span class="sourceLineNo">093</span><a name="line.93"></a>
 <span class="sourceLineNo">094</span>  // A Map sorted by column family.<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  protected NavigableMap&lt;byte [], List&lt;Cell&gt;&gt; familyMap =<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    new TreeMap&lt;byte [], List&lt;Cell&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  @Override<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  public CellScanner cellScanner() {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    return CellUtil.createCellScanner(getFamilyCellMap());<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * Creates an empty list if one doesn't exist for the given column family<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * or else it returns the associated list of Cell objects.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   *<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * @param family column family<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @return a list of Cell objects, returns an empty list if one doesn't exist.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  List&lt;Cell&gt; getCellList(byte[] family) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    List&lt;Cell&gt; list = this.familyMap.get(family);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    if (list == null) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      list = new ArrayList&lt;Cell&gt;();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    return list;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  /*<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * Create a KeyValue with this objects row key and the Put identifier.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   *<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * @return a KeyValue with this objects row key and the Put identifier.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  KeyValue createPutKeyValue(byte[] family, byte[] qualifier, long ts, byte[] value) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    return new KeyValue(this.row, family, qualifier, ts, KeyValue.Type.Put, value);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  /**<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * Create a KeyValue with this objects row key and the Put identifier.<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @param family<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * @param qualifier<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * @param ts<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * @param value<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @param tags - Specify the Tags as an Array<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @return a KeyValue with this objects row key and the Put identifier.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  KeyValue createPutKeyValue(byte[] family, byte[] qualifier, long ts, byte[] value, Tag[] tags) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    KeyValue kvWithTag = new KeyValue(this.row, family, qualifier, ts, value, tags);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    return kvWithTag;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<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>   * Create a KeyValue with this objects row key and the Put identifier.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   *<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * @return a KeyValue with this objects row key and the Put identifier.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   */<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  KeyValue createPutKeyValue(byte[] family, ByteBuffer qualifier, long ts, ByteBuffer value,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      Tag[] tags) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    return new KeyValue(this.row, 0, this.row == null ? 0 : this.row.length,<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        family, 0, family == null ? 0 : family.length,<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        qualifier, ts, KeyValue.Type.Put, value, tags != null ? Arrays.asList(tags) : null);<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * Compile the column family (i.e. schema) information<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * into a Map. Useful for parsing and aggregation by debugging,<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * logging, and administration tools.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * @return Map<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   */<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  @Override<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    List&lt;String&gt; families = new ArrayList&lt;String&gt;(this.familyMap.entrySet().size());<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    // ideally, we would also include table information, but that information<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // is not stored in each Operation instance.<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    map.put("families", families);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    for (Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry : this.familyMap.entrySet()) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    return map;<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>  /**<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * Useful for debugging, logging, and administration tools.<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * @return Map<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   */<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  @Override<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // we start with the fingerprint map and build on top of it.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    // replace the fingerprint's simple list of families with a<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    // map from column families to lists of qualifiers and kv details<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    Map&lt;String, List&lt;Map&lt;String, Object&gt;&gt;&gt; columns =<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      new HashMap&lt;String, List&lt;Map&lt;String, Object&gt;&gt;&gt;();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    map.put("families", columns);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    map.put("row", Bytes.toStringBinary(this.row));<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    int colCount = 0;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    // iterate through all column families affected<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    for (Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry : this.familyMap.entrySet()) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      // map from this family to details for each cell affected within the family<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      List&lt;Map&lt;String, Object&gt;&gt; qualifierDetails = new ArrayList&lt;Map&lt;String, Object&gt;&gt;();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      columns.put(Bytes.toStringBinary(entry.getKey()), qualifierDetails);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      colCount += entry.getValue().size();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      if (maxCols &lt;= 0) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        continue;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      }<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // add details for each cell<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      for (Cell cell: entry.getValue()) {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>        if (--maxCols &lt;= 0) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>          continue;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        }<a name="line.203"></a>
-<span class="sourceLineNo">204</span>        Map&lt;String, Object&gt; cellMap = cellToStringMap(cell);<a name="line.204"></a>
-<span class="sourceLineNo">205</span>        qualifierDetails.add(cellMap);<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>    map.put("totalColumns", colCount);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    // add the id if set<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    if (getId() != null) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      map.put("id", getId());<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // Add the TTL if set<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // Long.MAX_VALUE is the default, and is interpreted to mean this attribute<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // has not been set.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    if (getTTL() != Long.MAX_VALUE) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      map.put("ttl", getTTL());<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return map;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  private static Map&lt;String, Object&gt; cellToStringMap(Cell c) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    Map&lt;String, Object&gt; stringMap = new HashMap&lt;String, Object&gt;();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    stringMap.put("qualifier", Bytes.toStringBinary(c.getQualifierArray(), c.getQualifierOffset(),<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                c.getQualifierLength()));<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    stringMap.put("timestamp", c.getTimestamp());<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    stringMap.put("vlen", c.getValueLength());<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    List&lt;Tag&gt; tags = CellUtil.getTags(c);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    if (tags != null) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      List&lt;String&gt; tagsString = new ArrayList&lt;String&gt;(tags.size());<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      for (Tag t : tags) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        tagsString.add((t.getType()) + ":" + Bytes.toStringBinary(TagUtil.cloneValue(t)));<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      stringMap.put("tag", tagsString);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return stringMap;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Set the durability for this mutation<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param d<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public Mutation setDurability(Durability d) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    this.durability = d;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    return this;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /** Get the current durability */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  public Durability getDurability() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    return this.durability;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  /**<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * Method for retrieving the put's familyMap<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return familyMap<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public NavigableMap&lt;byte [], List&lt;Cell&gt;&gt; getFamilyCellMap() {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    return this.familyMap;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  /**<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * Method for setting the put's familyMap<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   */<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  public Mutation setFamilyCellMap(NavigableMap&lt;byte [], List&lt;Cell&gt;&gt; map) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    // TODO: Shut this down or move it up to be a Constructor.  Get new object rather than change<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    // this internal data member.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    this.familyMap = map;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return this;<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>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Method to check if the familyMap is empty<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * @return true if empty, false otherwise<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   */<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public boolean isEmpty() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return familyMap.isEmpty();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  }<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>   * Method for retrieving the delete's row<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @return row<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   */<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public byte [] getRow() {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    return this.row;<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>  @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public int compareTo(final Row d) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    return Bytes.compareTo(this.getRow(), d.getRow());<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  }<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   * Method for retrieving the timestamp<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * @return timestamp<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   */<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public long getTimeStamp() {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return this.ts;<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">301</span>  /**<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * Marks that the clusters with the given clusterIds have consumed the mutation<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param clusterIds of the clusters that have consumed the mutation<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   */<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  public Mutation setClusterIds(List&lt;UUID&gt; clusterIds) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ByteArrayDataOutput out = ByteStreams.newDataOutput();<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    out.writeInt(clusterIds.size());<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    for (UUID clusterId : clusterIds) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      out.writeLong(clusterId.getMostSignificantBits());<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      out.writeLong(clusterId.getLeastSignificantBits());<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    setAttribute(CONSUMED_CLUSTER_IDS, out.toByteArray());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    return this;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  /**<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @return the set of clusterIds that have consumed the mutation<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  public List&lt;UUID&gt; getClusterIds() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    List&lt;UUID&gt; clusterIds = new ArrayList&lt;UUID&gt;();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    byte[] bytes = getAttribute(CONSUMED_CLUSTER_IDS);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if(bytes != null) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      ByteArrayDataInput in = ByteStreams.newDataInput(bytes);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      int numClusters = in.readInt();<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      for(int i=0; i&lt;numClusters; i++){<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        clusterIds.add(new UUID(in.readLong(), in.readLong()));<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    return clusterIds;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * Sets the visibility expression associated with cells in this Mutation.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * It is illegal to set &lt;code&gt;CellVisibility&lt;/code&gt; on &lt;code&gt;Delete&lt;/code&gt; mutation.<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param expression<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public Mutation setCellVisibility(CellVisibility expression) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    this.setAttribute(VisibilityConstants.VISIBILITY_LABELS_ATTR_KEY,<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        toCellVisibility(expression).toByteArray());<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    return this;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  /**<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * @return CellVisibility associated with cells in this Mutation.<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * @throws DeserializationException<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
-<span class="sourceLineNo">347</span>  public CellVisibility getCellVisibility() throws DeserializationException {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[] cellVisibilityBytes = this.getAttribute(VisibilityConstants.VISIBILITY_LABELS_ATTR_KEY);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    if (cellVisibilityBytes == null) return null;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    return toCellVisibility(cellVisibilityBytes);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * Create a protocol buffer CellVisibility based on a client CellVisibility.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   *<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @param cellVisibility<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @return a protocol buffer CellVisibility<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  static ClientProtos.CellVisibility toCellVisibility(CellVisibility cellVisibility) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    ClientProtos.CellVisibility.Builder builder = ClientProtos.CellVisibility.newBuilder();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    builder.setExpression(cellVisibility.getExpression());<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    return builder.build();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>  /**<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * Convert a protocol buffer CellVisibility to a client CellVisibility<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   *<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param proto<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @return the converted client CellVisibility<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   */<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  private static CellVisibility toCellVisibility(ClientProtos.CellVisibility proto) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    if (proto == null) return null;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    return new CellVisibility(proto.getExpression());<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Convert a protocol buffer CellVisibility bytes to a client CellVisibility<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   *<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @param protoBytes<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @return the converted client CellVisibility<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @throws DeserializationException<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>  private static CellVisibility toCellVisibility(byte[] protoBytes) throws DeserializationException {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    if (protoBytes == null) return null;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    ClientProtos.CellVisibility.Builder builder = ClientProtos.CellVisibility.newBuilder();<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    ClientProtos.CellVisibility proto = null;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    try {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      ProtobufUtil.mergeFrom(builder, protoBytes);<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      proto = builder.build();<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    } catch (IOException e) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      throw new DeserializationException(e);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return toCellVisibility(proto);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Number of KeyValues carried by this Mutation.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @return the total number of KeyValues<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   */<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public int size() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    int size = 0;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    for (List&lt;Cell&gt; cells : this.familyMap.values()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      size += cells.size();<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    }<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    return size;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  /**<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * @return the number of different families<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public int numFamilies() {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    return familyMap.size();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>  /**<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @return Calculate what Mutation adds to class heap size.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   */<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  public long heapSize() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    long heapsize = MUTATION_OVERHEAD;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    // Adding row<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    heapsize += ClassSize.align(ClassSize.ARRAY + this.row.length);<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    // Adding map overhead<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    heapsize +=<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      ClassSize.align(this.familyMap.size() * ClassSize.MAP_ENTRY);<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    for(Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry : this.familyMap.entrySet()) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      //Adding key overhead<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      heapsize +=<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        ClassSize.align(ClassSize.ARRAY + entry.getKey().length);<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>      //This part is kinds tricky since the JVM can reuse references if you<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      //store the same value, but have a good match with SizeOf at the moment<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      //Adding value overhead<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      heapsize += ClassSize.align(ClassSize.ARRAYLIST);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      int size = entry.getValue().size();<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      heapsize += ClassSize.align(ClassSize.ARRAY +<a name="line.437"></a>
-<span class="sourceLineNo">438</span>          size * ClassSize.REFERENCE);<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>      for(Cell cell : entry.getValue()) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        heapsize += CellUtil.estimatedHeapSizeOf(cell);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    heapsize += getAttributeSize();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    heapsize += extraHeapSize();<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    return ClassSize.align(heapsize);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  }<a name="line.447"></a>
-<span class="sourceLineNo">448</span><a name="line.448"></a>
-<span class="sourceLineNo">449</span>  /**<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * @return The serialized ACL for this operation, or null if none<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   */<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public byte[] getACL() {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return getAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>  /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * @param user User short name<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * @param perms Permissions for the user<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  public Mutation setACL(String user, Permission perms) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL,<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      AccessControlUtil.toUsersAndPermissions(user, perms).toByteArray());<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    return this;<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>  /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * @param perms A map of permissions for a user or users<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   */<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  public Mutation setACL(Map&lt;String, Permission&gt; perms) {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    ListMultimap&lt;String, Permission&gt; permMap = ArrayListMultimap.create();<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    for (Map.Entry&lt;String, Permission&gt; entry : perms.entrySet()) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      permMap.put(entry.getKey(), entry.getValue());<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL,<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      AccessControlUtil.toUsersAndPermissions(permMap).toByteArray());<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    return this;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>  }<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>   * Return the TTL requested for the result of the mutation, in milliseconds.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return the TTL requested for the result of the mutation, in milliseconds,<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * or Long.MAX_VALUE if unset<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public long getTTL() {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    byte[] ttlBytes = getAttribute(OP_ATTRIBUTE_TTL);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    if (ttlBytes != null) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return Bytes.toLong(ttlBytes);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    return Long.MAX_VALUE;<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>
-<span class="sourceLineNo">493</span>   * Set the TTL desired for the result of the mutation, in milliseconds.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * @param ttl the TTL desired for the result of the mutation, in milliseconds<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * @return this<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  public Mutation setTTL(long ttl) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    setAttribute(OP_ATTRIBUTE_TTL, Bytes.toBytes(ttl));<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    return this;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>  }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>  /**<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * @return current value for returnResults<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  // Used by Increment and Append only.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  @InterfaceAudience.Private<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  protected boolean isReturnResults() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    byte[] v = getAttribute(RETURN_RESULTS);<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    return v == null ? true : Bytes.toBoolean(v);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>  }<a name="line.510"></a>
-<span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>  @InterfaceAudience.Private<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  // Used by Increment and Append only.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  protected Mutation setReturnResults(boolean returnResults) {<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    setAttribute(RETURN_RESULTS, Bytes.toBytes(returnResults));<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    return this;<a name="line.516"></a>
-<span class="sourceLineNo">517</span>  }<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>  /**<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * Subclasses should override this method to add the heap size of their own fields.<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * @return the heap size to add (will be aligned).<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  protected long extraHeapSize(){<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    return 0L;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  }<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>  /**<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @param row Row to check<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @throws IllegalArgumentException Thrown if &lt;code&gt;row&lt;/code&gt; is empty or null or<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * &amp;gt; {@link HConstants#MAX_ROW_LENGTH}<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * @return &lt;code&gt;row&lt;/code&gt;<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   */<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  static byte [] checkRow(final byte [] row) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    return checkRow(row, 0, row == null? 0: row.length);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  }<a name="line.536"></a>
-<span class="sourceLineNo">537</span><a name="line.537"></a>
-<span class="sourceLineNo">538</span>  /**<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * @param row Row to check<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * @param offset<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   * @param length<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   * @throws IllegalArgumentException Thrown if &lt;code&gt;row&lt;/code&gt; is empty or null or<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   * &amp;gt; {@link HConstants#MAX_ROW_LENGTH}<a name="line.543"></a>
-<span class="sourceLineNo">544</span>   * @return &lt;code&gt;row&lt;/code&gt;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>   */<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  static byte [] checkRow(final byte [] row, final int offset, final int length) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    if (row == null) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      throw new IllegalArgumentException("Row buffer is null");<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    if (length == 0) {<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      throw new IllegalArgumentException("Row length is 0");<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    if (length &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      throw new IllegalArgumentException("Row length " + length + " is &gt; " +<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        HConstants.MAX_ROW_LENGTH);<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    return row;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static void checkRow(ByteBuffer row) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    if (row == null) {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      throw new IllegalArgumentException("Row buffer is null");<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    if (row.remaining() == 0) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      throw new IllegalArgumentException("Row length is 0");<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    if (row.remaining() &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      throw new IllegalArgumentException("Row length " + row.remaining() + " is &gt; " +<a name="line.568"></a>
-<span class="sourceLineNo">569</span>          HConstants.MAX_ROW_LENGTH);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    }<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">095</span>  protected NavigableMap&lt;byte [], List&lt;Cell&gt;&gt; familyMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  public CellScanner cellScanner() {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    return CellUtil.createCellScanner(getFamilyCellMap());<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>  /**<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * Creates an empty list if one doesn't exist for the given column family<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * or else it returns the associated list of Cell objects.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   *<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param family column family<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @return a list of Cell objects, returns an empty list if one doesn't exist.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   */<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  List&lt;Cell&gt; getCellList(byte[] family) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    List&lt;Cell&gt; list = this.familyMap.get(family);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    if (list == null) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      list = new ArrayList&lt;&gt;();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return list;<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>  /*<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * Create a KeyValue with this objects row key and the Put identifier.<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   *<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   * @return a KeyValue with this objects row key and the Put identifier.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   */<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  KeyValue createPutKeyValue(byte[] family, byte[] qualifier, long ts, byte[] value) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return new KeyValue(this.row, family, qualifier, ts, KeyValue.Type.Put, value);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  /**<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * Create a KeyValue with this objects row key and the Put identifier.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * @param family<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @param qualifier<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @param ts<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * @param value<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * @param tags - Specify the Tags as an Array<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * @return a KeyValue with this objects row key and the Put identifier.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  KeyValue createPutKeyValue(byte[] family, byte[] qualifier, long ts, byte[] value, Tag[] tags) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    KeyValue kvWithTag = new KeyValue(this.row, family, qualifier, ts, value, tags);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    return kvWithTag;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  /*<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * Create a KeyValue with this objects row key and the Put identifier.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   *<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * @return a KeyValue with this objects row key and the Put identifier.<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  KeyValue createPutKeyValue(byte[] family, ByteBuffer qualifier, long ts, ByteBuffer value,<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      Tag[] tags) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return new KeyValue(this.row, 0, this.row == null ? 0 : this.row.length,<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        family, 0, family == null ? 0 : family.length,<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        qualifier, ts, KeyValue.Type.Put, value, tags != null ? Arrays.asList(tags) : null);<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>  /**<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   * Compile the column family (i.e. schema) information<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * into a Map. Useful for parsing and aggregation by debugging,<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * logging, and administration tools.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * @return Map<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  @Override<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    List&lt;String&gt; families = new ArrayList&lt;&gt;(this.familyMap.entrySet().size());<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    // ideally, we would also include table information, but that information<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    // is not stored in each Operation instance.<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    map.put("families", families);<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    for (Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry : this.familyMap.entrySet()) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    return map;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  }<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>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * Useful for debugging, logging, and administration tools.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * @return Map<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    // we start with the fingerprint map and build on top of it.<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    // replace the fingerprint's simple list of families with a<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    // map from column families to lists of qualifiers and kv details<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    Map&lt;String, List&lt;Map&lt;String, Object&gt;&gt;&gt; columns = new HashMap&lt;&gt;();<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    map.put("families", columns);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    map.put("row", Bytes.toStringBinary(this.row));<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    int colCount = 0;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    // iterate through all column families affected<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    for (Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry : this.familyMap.entrySet()) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      // map from this family to details for each cell affected within the family<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      List&lt;Map&lt;String, Object&gt;&gt; qualifierDetails = new ArrayList&lt;&gt;();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      columns.put(Bytes.toStringBinary(entry.getKey()), qualifierDetails);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      colCount += entry.getValue().size();<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      if (maxCols &lt;= 0) {<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>      // add details for each cell<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      for (Cell cell: entry.getValue()) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        if (--maxCols &lt;= 0) {<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>        Map&lt;String, Object&gt; cellMap = cellToStringMap(cell);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        qualifierDetails.add(cellMap);<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>    map.put("totalColumns", colCount);<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    // add the id if set<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    if (getId() != null) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      map.put("id", getId());<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    }<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    // Add the TTL if set<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    // Long.MAX_VALUE is the default, and is interpreted to mean this attribute<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // has not been set.<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (getTTL() != Long.MAX_VALUE) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      map.put("ttl", getTTL());<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return map;<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 static Map&lt;String, Object&gt; cellToStringMap(Cell c) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    Map&lt;String, Object&gt; stringMap = new HashMap&lt;&gt;();<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    stringMap.put("qualifier", Bytes.toStringBinary(c.getQualifierArray(), c.getQualifierOffset(),<a name="line.222"></a>
+<span class="sourceLineNo">223</span>                c.getQualifierLength()));<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    stringMap.put("timestamp", c.getTimestamp());<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    stringMap.put("vlen", c.getValueLength());<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    List&lt;Tag&gt; tags = CellUtil.getTags(c);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    if (tags != null) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      List&lt;String&gt; tagsString = new ArrayList&lt;&gt;(tags.size());<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      for (Tag t : tags) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>        tagsString.add((t.getType()) + ":" + Bytes.toStringBinary(TagUtil.cloneValue(t)));<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      stringMap.put("tag", tagsString);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    return stringMap;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * Set the durability for this mutation<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * @param d<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  public Mutation setDurability(Durability d) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    this.durability = d;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    return this;<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>  /** Get the current durability */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  public Durability getDurability() {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    return this.durability;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  }<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>   * Method for retrieving the put's familyMap<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * @return familyMap<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  public NavigableMap&lt;byte [], List&lt;Cell&gt;&gt; getFamilyCellMap() {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    return this.familyMap;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<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>   * Method for setting the put's familyMap<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public Mutation setFamilyCellMap(NavigableMap&lt;byte [], List&lt;Cell&gt;&gt; map) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    // TODO: Shut this down or move it up to be a Constructor.  Get new object rather than change<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    // this internal data member.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    this.familyMap = map;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    return this;<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>   * Method to check if the familyMap is empty<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * @return true if empty, false otherwise<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  public boolean isEmpty() {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    return familyMap.isEmpty();<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>  /**<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * Method for retrieving the delete's row<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @return row<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   */<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  public byte [] getRow() {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    return this.row;<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>  @Override<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  public int compareTo(final Row d) {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    return Bytes.compareTo(this.getRow(), d.getRow());<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>  /**<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * Method for retrieving the timestamp<a name="line.292"></a>
+<span class="sourceLineNo">293</span>   * @return timestamp<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   */<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  public long getTimeStamp() {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return this.ts;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>  /**<a name="line.299"></a>
+<span class="sourceLineNo">300</span>   * Marks that the clusters with the given clusterIds have consumed the mutation<a name="line.300"></a>
+<span class="sourceLineNo">301</span>   * @param clusterIds of the clusters that have consumed the mutation<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  public Mutation setClusterIds(List&lt;UUID&gt; clusterIds) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    ByteArrayDataOutput out = ByteStreams.newDataOutput();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    out.writeInt(clusterIds.size());<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    for (UUID clusterId : clusterIds) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      out.writeLong(clusterId.getMostSignificantBits());<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      out.writeLong(clusterId.getLeastSignificantBits());<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    setAttribute(CONSUMED_CLUSTER_IDS, out.toByteArray());<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    return this;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  }<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span>  /**<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @return the set of clusterIds that have consumed the mutation<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   */<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public List&lt;UUID&gt; getClusterIds() {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    List&lt;UUID&gt; clusterIds = new ArrayList&lt;&gt;();<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    byte[] bytes = getAttribute(CONSUMED_CLUSTER_IDS);<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    if(bytes != null) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      ByteArrayDataInput in = ByteStreams.newDataInput(bytes);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      int numClusters = in.readInt();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      for(int i=0; i&lt;numClusters; i++){<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        clusterIds.add(new UUID(in.readLong(), in.readLong()));<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    return clusterIds;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span>  /**<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * Sets the visibility expression associated with cells in this Mutation.<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * It is illegal to set &lt;code&gt;CellVisibility&lt;/code&gt; on &lt;code&gt;Delete&lt;/code&gt; mutation.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @param expression<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  public Mutation setCellVisibility(CellVisibility expression) {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    this.setAttribute(VisibilityConstants.VISIBILITY_LABELS_ATTR_KEY,<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        toCellVisibility(expression).toByteArray());<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    return this;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>  /**<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @return CellVisibility associated with cells in this Mutation.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @throws DeserializationException<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  public CellVisibility getCellVisibility() throws DeserializationException {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    byte[] cellVisibilityBytes = this.getAttribute(VisibilityConstants.VISIBILITY_LABELS_ATTR_KEY);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    if (cellVisibilityBytes == null) return null;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    return toCellVisibility(cellVisibilityBytes);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>  }<a name="line.349"></a>
+<span class="sourceLineNo">350</span><a name="line.350"></a>
+<span class="sourceLineNo">351</span>  /**<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * Create a protocol buffer CellVisibility based on a client CellVisibility.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   *<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * @param cellVisibility<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * @return a protocol buffer CellVisibility<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  static ClientProtos.CellVisibility toCellVisibility(CellVisibility cellVisibility) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    ClientProtos.CellVisibility.Builder builder = ClientProtos.CellVisibility.newBuilder();<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    builder.setExpression(cellVisibility.getExpression());<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    return builder.build();<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  }<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span>  /**<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * Convert a protocol buffer CellVisibility to a client CellVisibility<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   *<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @param proto<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @return the converted client CellVisibility<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private static CellVisibility toCellVisibility(ClientProtos.CellVisibility proto) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    if (proto == null) return null;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    return new CellVisibility(proto.getExpression());<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
+<span class="sourceLineNo">373</span><a name="line.373"></a>
+<span class="sourceLineNo">374</span>  /**<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * Convert a protocol buffer CellVisibility bytes to a client CellVisibility<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   *<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * @param protoBytes<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @return the converted client CellVisibility<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * @throws DeserializationException<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  private static CellVisibility toCellVisibility(byte[] protoBytes) throws DeserializationException {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    if (protoBytes == null) return null;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    ClientProtos.CellVisibility.Builder builder = ClientProtos.CellVisibility.newBuilder();<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    ClientProtos.CellVisibility proto = null;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    try {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      ProtobufUtil.mergeFrom(builder, protoBytes);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      proto = builder.build();<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    } catch (IOException e) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      throw new DeserializationException(e);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    return toCellVisibility(proto);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>  /**<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * Number of KeyValues carried by this Mutation.<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * @return the total number of KeyValues<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
+<span class="sourceLineNo">398</span>  public int size() {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    int size = 0;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    for (List&lt;Cell&gt; cells : this.familyMap.values()) {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      size += cells.size();<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    return size;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  }<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>  /**<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * @return the number of different families<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
+<span class="sourceLineNo">409</span>  public int numFamilies() {<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    return familyMap.size();<a name="line.410"></a>
+<span class="sourceLineNo">411</span>  }<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>  /**<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * @return Calculate what Mutation adds to class heap size.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   */<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  public long heapSize() {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    long heapsize = MUTATION_OVERHEAD;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    // Adding row<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    heapsize += ClassSize.align(ClassSize.ARRAY + this.row.length);<a name="line.420"></a>
+<span class="sourceLineNo">421</span><a name="line.421"></a>
+<span class="sourceLineNo">422</span>    // Adding map overhead<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    heapsize +=<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      ClassSize.align(this.familyMap.size() * ClassSize.MAP_ENTRY);<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    for(Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry : this.familyMap.entrySet()) {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>      //Adding key overhead<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      heapsize +=<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        ClassSize.align(ClassSize.ARRAY + entry.getKey().length);<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>      //This part is kinds tricky since the JVM can reuse references if you<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      //store the same value, but have a good match with SizeOf at the moment<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      //Adding value overhead<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      heapsize += ClassSize.align(ClassSize.ARRAYLIST);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      int size = entry.getValue().size();<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      heapsize += ClassSize.align(ClassSize.ARRAY +<a name="line.435"></a>
+<span class="sourceLineNo">436</span>          size * ClassSize.REFERENCE);<a name="line.436"></a>
+<span class="sourceLineNo">437</span><a name="line.437"></a>
+<span class="sourceLineNo">438</span>      for(Cell cell : entry.getValue()) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        heapsize += CellUtil.estimatedHeapSizeOf(cell);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    heapsize += getAttributeSize();<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    heapsize += extraHeapSize();<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    return ClassSize.align(heapsize);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
+<span class="sourceLineNo">446</span><a name="line.446"></a>
+<span class="sourceLineNo">447</span>  /**<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * @return The serialized ACL for this operation, or null if none<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   */<a name="line.449"></a>
+<span class="sourceLineNo">450</span>  public byte[] getACL() {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    return getAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL);<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>  /**<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * @param user User short name<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   * @param perms Permissions for the user<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   */<a name="line.457"></a>
+<span class="sourceLineNo">458</span>  public Mutation setACL(String user, Permission perms) {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL,<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      AccessControlUtil.toUsersAndPermissions(user, perms).toByteArray());<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    return this;<a name="line.461"></a>
+<span class="sourceLineNo">462</span>  }<a name="line.462"></a>
+<span class="sourceLineNo">463</span><a name="line.463"></a>
+<span class="sourceLineNo">464</span>  /**<a name="line.464"></a>
+<span class="sourceLineNo">465</span>   * @param perms A map of permissions for a user or users<a name="line.465"></a>
+<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
+<span class="sourceLineNo">467</span>  public Mutation setACL(Map&lt;String, Permission&gt; perms) {<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    ListMultimap&lt;String, Permission&gt; permMap = ArrayListMultimap.create();<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    for (Map.Entry&lt;String, Permission&gt; entry : perms.entrySet()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      permMap.put(entry.getKey(), entry.getValue());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    }<a name="line.471"></a>
+<span class="sourceLineNo">472</span>    setAttribute(AccessControlConstants.OP_ATTRIBUTE_ACL,<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      AccessControlUtil.toUsersAndPermissions(permMap).toByteArray());<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    return this;<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>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Return the TTL requested for the result of the mutation, in milliseconds.<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   * @return the TTL requested for the result of the mutation, in milliseconds,<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * or Long.MAX_VALUE if unset<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   */<a name="line.481"></a>
+<span class="sourceLineNo">482</span>  public long getTTL() {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>    byte[] ttlBytes = getAttribute(OP_ATTRIBUTE_TTL);<a name="line.483"></a>
+<span class="sourceLineNo">484</span>    if (ttlBytes != null) {<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      return Bytes.toLong(ttlBytes);<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    }<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    return Long.MAX_VALUE;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  }<a name="line.488"></a>
+<span class="sourceLineNo">489</span><a name="line.489"></a>
+<span class="sourceLineNo">490</span>  /**<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * Set the TTL desired for the result of the mutation, in milliseconds.<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   * @param ttl the TTL desired for the result of the mutation, in milliseconds<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   * @return this<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   */<a name="line.494"></a>
+<span class="sourceLineNo">495</span>  public Mutation setTTL(long ttl) {<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    setAttribute(OP_ATTRIBUTE_TTL, Bytes.toBytes(ttl));<a name="line.496"></a>
+<span class="sourceLineNo">497</span>    return this;<a name="line.497"></a>
+<span class="sourceLineNo">498</span>  }<a name="line.498"></a>
+<span class="sourceLineNo">499</span><a name="line.499"></a>
+<span class="sourceLineNo">500</span>  /**<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * @return current value for returnResults<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   */<a name="line.502"></a>
+<span class="sourceLineNo">503</span>  // Used by Increment and Append only.<a name="line.503"></a>
+<span class="sourceLineNo">504</span>  @InterfaceAudience.Private<a name="line.504"></a>
+<span class="sourceLineNo">505</span>  protected boolean isReturnResults() {<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    byte[] v = getAttribute(RETURN_RESULTS);<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    return v == null ? true : Bytes.toBoolean(v);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>  @InterfaceAudience.Private<a name="line.510"></a>
+<span class="sourceLineNo">511</span>  // Used by Increment and Append only.<a name="line.511"></a>
+<span class="sourceLineNo">512</span>  protected Mutation setReturnResults(boolean returnResults) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    setAttribute(RETURN_RESULTS, Bytes.toBytes(returnResults));<a name="line.513"></a>
+<span class="sourceLineNo">514</span>    return this;<a name="line.514"></a>
+<span class="sourceLineNo">515</span>  }<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span>  /**<a name="line.517"></a>
+<span class="sourceLineNo">518</span>   * Subclasses should override this method to add the heap size of their own fields.<a name="line.518"></a>
+<span class="sourceLineNo">519</span>   * @return the heap size to add (will be aligned).<a name="line.519"></a>
+<span class="sourceLineNo">520</span>   */<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  protected long extraHeapSize(){<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    return 0L;<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><a name="line.525"></a>
+<span class="sourceLineNo">526</span>  /**<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   * @param row Row to check<a name="line.527"></a>
+<span class="sourceLineNo">528</span>   * @throws IllegalArgumentException Thrown if &lt;code&gt;row&lt;/code&gt; is empty or null or<a name="line.528"></a>
+<span class="sourceLineNo">529</span>   * &amp;gt; {@link HConstants#MAX_ROW_LENGTH}<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * @return &lt;code&gt;row&lt;/code&gt;<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   */<a name="line.531"></a>
+<span class="sourceLineNo">532</span>  static byte [] checkRow(final byte [] row) {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    return checkRow(row, 0, row == null? 0: row.length);<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>  /**<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @param row Row to check<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param offset<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @param length<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @throws IllegalArgumentException Thrown if &lt;code&gt;row&lt;/code&gt; is empty or null or<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * &amp;gt; {@link HConstants#MAX_ROW_LENGTH}<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   * @return &lt;code&gt;row&lt;/code&gt;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   */<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  static byte [] checkRow(final byte [] row, final int offset, final int length) {<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    if (row == null) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      throw new IllegalArgumentException("Row buffer is null");<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    if (length == 0) {<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      throw new IllegalArgumentException("Row length is 0");<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    if (length &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.551"></a>
+<span class="sourceLineNo">552</span>      throw new IllegalArgumentException("Row length " + length + " is &gt; " +<a name="line.552"></a>
+<span class="sourceLineNo">553</span>        HConstants.MAX_ROW_LENGTH);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    return row;<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  }<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>  static void checkRow(ByteBuffer row) {<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    if (row == null) {<a name="line.559"></a>
+<span class="sourceLineNo">560</span>      throw new IllegalArgumentException("Row buffer is null");<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    }<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    if (row.remaining() == 0) {<a name="line.562"></a>
+<span class="sourceLineNo">563</sp

<TRUNCATED>

[35/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.ReturnCode.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.ReturnCode.html b/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.ReturnCode.html
index 2b8632c..3d377a1 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.ReturnCode.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.ReturnCode.html
@@ -107,115 +107,115 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FirstKeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PageFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FamilyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SingleColumnValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">QualifierFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PageFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FirstKeyValueMatchingQualifiersFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
-<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RowFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnCountGetFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnCountGetFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FuzzyRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DependentColumnFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DependentColumnFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
+<td class="colLast"><span class="typeNameLabel">InclusiveStopFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Filter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FamilyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><span class="typeNameLabel">FilterList.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FirstKeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RowFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RandomRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WhileMatchFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">InclusiveStopFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FuzzyRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SkipFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SingleColumnValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RandomRowFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">QualifierFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiRowRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FirstKeyValueMatchingQualifiersFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html b/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html
index 4222c2b..f3179e3 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html
@@ -160,15 +160,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="typeNameLabel">Scan.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html#setFilter-org.apache.hadoop.hbase.filter.Filter-">setFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setFilter-org.apache.hadoop.hbase.filter.Filter-">setFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Query.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html#setFilter-org.apache.hadoop.hbase.filter.Filter-">setFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</code>
 <div class="block">Apply the specified server-side filter when performing the Query.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setFilter-org.apache.hadoop.hbase.filter.Filter-">setFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -394,75 +394,75 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FirstKeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PageFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FamilyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">QualifierFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SingleColumnValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SingleColumnValueExcludeFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PageFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RowFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnCountGetFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DependentColumnFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SingleColumnValueExcludeFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnCountGetFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FamilyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FirstKeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DependentColumnFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RowFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">InclusiveStopFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">InclusiveStopFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultipleColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SingleColumnValueFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">KeyOnlyFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnRangeFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ColumnPaginationFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">QualifierFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TimestampsFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ColumnPrefixFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
@@ -623,18 +623,18 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#setRowFilter-org.apache.hadoop.hbase.filter.Filter-">setRowFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;rowFilter)</code>
-<div class="block">Allows subclasses to set the <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a> to be used.</div>
-</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#setRowFilter-org.apache.hadoop.hbase.filter.Filter-">setRowFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;rowFilter)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#setRowFilter-org.apache.hadoop.hbase.filter.Filter-">setRowFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;rowFilter)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#setRowFilter-org.apache.hadoop.hbase.filter.Filter-">setRowFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;rowFilter)</code>&nbsp;</td>
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#setRowFilter-org.apache.hadoop.hbase.filter.Filter-">setRowFilter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;rowFilter)</code>
+<div class="block">Allows subclasses to set the <a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a> to be used.</div>
+</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/package-tree.html b/apidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 8104c35..8052e60 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -161,10 +161,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/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/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/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/io/class-use/ImmutableBytesWritable.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/io/class-use/ImmutableBytesWritable.html b/apidocs/org/apache/hadoop/hbase/io/class-use/ImmutableBytesWritable.html
index ea5b411..b5e21da 100644
--- a/apidocs/org/apache/hadoop/hbase/io/class-use/ImmutableBytesWritable.html
+++ b/apidocs/org/apache/hadoop/hbase/io/class-use/ImmutableBytesWritable.html
@@ -158,11 +158,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#createKey--">createKey</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#createKey--">createKey</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#createKey--">createKey</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#createKey--">createKey</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -175,23 +175,23 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapred.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableSnapshotInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
+<td class="colLast"><span class="typeNameLabel">MultiTableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/MultiTableSnapshotInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
                org.apache.hadoop.mapred.JobConf&nbsp;job,
                org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.mapred.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
+<td class="colLast"><span class="typeNameLabel">TableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableSnapshotInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
                org.apache.hadoop.mapred.JobConf&nbsp;job,
-               org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Builds a TableRecordReader.</div>
-</td>
+               org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapred.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiTableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/MultiTableSnapshotInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
+<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
                org.apache.hadoop.mapred.JobConf&nbsp;job,
-               org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>&nbsp;</td>
+               org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
+<div class="block">Builds a TableRecordReader.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -210,30 +210,30 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">GroupingTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/GroupingTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">IdentityTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/IdentityTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
    <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value,
    org.apache.hadoop.mapred.OutputCollector&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;output,
    org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Extract the grouping columns from value to construct a new key.</div>
+<div class="block">Pass the key, value to reduce</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">IdentityTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/IdentityTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">GroupingTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/GroupingTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
    <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value,
    org.apache.hadoop.mapred.OutputCollector&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;output,
    org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Pass the key, value to reduce</div>
+<div class="block">Extract the grouping columns from value to construct a new key.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#next-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-">next</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#next-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-">next</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
     <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#next-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-">next</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#next-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-">next</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
     <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -256,20 +256,20 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">GroupingTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/GroupingTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">IdentityTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/IdentityTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
    <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value,
    org.apache.hadoop.mapred.OutputCollector&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;output,
    org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Extract the grouping columns from value to construct a new key.</div>
+<div class="block">Pass the key, value to reduce</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">IdentityTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/IdentityTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">GroupingTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/GroupingTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
    <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value,
    org.apache.hadoop.mapred.OutputCollector&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;output,
    org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Pass the key, value to reduce</div>
+<div class="block">Extract the grouping columns from value to construct a new key.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -303,13 +303,13 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html#getCurrentKey--">getCurrentKey</a></span>()</code>
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html#getCurrentKey--">getCurrentKey</a></span>()</code>
 <div class="block">Returns the current key.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html#getCurrentKey--">getCurrentKey</a></span>()</code>
+<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html#getCurrentKey--">getCurrentKey</a></span>()</code>
 <div class="block">Returns the current key.</div>
 </td>
 </tr>
@@ -324,30 +324,30 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
-                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiTableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>
+<div class="block">Builds a TableRecordReader.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
-                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>
-<div class="block">Builds a <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a>.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">TableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiTableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
                   org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>
-<div class="block">Builds a TableRecordReader.</div>
+<div class="block">Builds a <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiHFileOutputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">HFileOutputFormat2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">HFileOutputFormat2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiHFileOutputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiHFileOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html b/apidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html
index 83d9cd2..0a03b2c 100644
--- a/apidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html
+++ b/apidocs/org/apache/hadoop/hbase/io/class-use/TimeRange.html
@@ -172,13 +172,13 @@
                         <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setColumnFamilyTimeRange-byte:A-org.apache.hadoop.hbase.io.TimeRange-">setColumnFamilyTimeRange</a></span>(byte[]&nbsp;cf,
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Query.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html#setColumnFamilyTimeRange-byte:A-org.apache.hadoop.hbase.io.TimeRange-">setColumnFamilyTimeRange</a></span>(byte[]&nbsp;cf,
                         <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Query.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html#setColumnFamilyTimeRange-byte:A-org.apache.hadoop.hbase.io.TimeRange-">setColumnFamilyTimeRange</a></span>(byte[]&nbsp;cf,
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setColumnFamilyTimeRange-byte:A-org.apache.hadoop.hbase.io.TimeRange-">setColumnFamilyTimeRange</a></span>(byte[]&nbsp;cf,
                         <a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -188,17 +188,17 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setTimeRange-org.apache.hadoop.hbase.io.TimeRange-">setTimeRange</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
-<div class="block">Get versions of columns only within the specified timestamp range,</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Query.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html#setTimeRange-org.apache.hadoop.hbase.io.TimeRange-">setTimeRange</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
 <div class="block">Sets the TimeRange to be used by this Query</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setTimeRange-org.apache.hadoop.hbase.io.TimeRange-">setTimeRange</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</code>
+<div class="block">Get versions of columns only within the specified timestamp range,</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>


[30/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html
index 9e87724..332eb81 100644
--- a/apidocs/overview-tree.html
+++ b/apidocs/overview-tree.html
@@ -483,6 +483,7 @@
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">ScheduledChore</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">ServerLoad</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">ServerName</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">ShortCircuitMasterConnection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotDescription</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/Struct.html" title="class in org.apache.hadoop.hbase.types"><span class="typeNameLink">Struct</span></a> (implements org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types">DataType</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/StructBuilder.html" title="class in org.apache.hadoop.hbase.types"><span class="typeNameLink">StructBuilder</span></a></li>
@@ -856,6 +857,8 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallable.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawAsyncTable.CoprocessorCallable</span></a>&lt;S,R&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawAsyncTable.CoprocessorCallback</span></a>&lt;R&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawScanResultConsumer</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawScanResultConsumer.ScanController</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawScanResultConsumer.ScanResumer</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RequestController.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RequestController.Checker.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.Checker</span></a></li>
 <li type="circle">com.google.protobuf.RpcChannel
@@ -874,32 +877,32 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/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/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/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.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.io.encoding.<a href="org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding"><span class="typeNameLink">DataBlockEncoding</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/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/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/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/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/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/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/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/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/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/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.security.<a href="org/apache/hadoop/hbase/client/security/SecurityCapability.html" title="enum in org.apache.hadoop.hbase.client.security"><span class="typeNameLink">SecurityCapability</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.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.quotas.<a href="org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/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/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</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.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>
 </ul>
 </li>
 </ul>


[29/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html b/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
index b55dbd3..400d699 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/CellUtil.html
@@ -630,2583 +630,2548 @@
 <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>    @Override<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    public long heapOverhead() {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      long overhead = ((ExtendedCell) this.cell).heapOverhead() + HEAP_SIZE_OVERHEAD;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      if (this.tags != null) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        overhead += ClassSize.ARRAY;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>      }<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      return overhead;<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    }<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    @Override<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    public Cell deepClone() {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      Cell clonedBaseCell = ((ExtendedCell) this.cell).deepClone();<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      return new TagRewriteCell(clonedBaseCell, this.tags);<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    }<a name="line.637"></a>
-<span class="sourceLineNo">638</span>  }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>  @InterfaceAudience.Private<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  private static class TagRewriteByteBufferCell extends ByteBufferCell implements ExtendedCell {<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>    protected ByteBufferCell cell;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    protected byte[] tags;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    private static final long HEAP_SIZE_OVERHEAD = ClassSize.OBJECT + 2 * ClassSize.REFERENCE;<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>     * @param cell The original ByteBufferCell which it rewrites<a name="line.648"></a>
-<span class="sourceLineNo">649</span>     * @param tags the tags bytes. The array suppose to contain the tags bytes alone.<a name="line.649"></a>
-<span class="sourceLineNo">650</span>     */<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    public TagRewriteByteBufferCell(ByteBufferCell cell, byte[] tags) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      assert cell instanceof ExtendedCell;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      assert tags != null;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      this.cell = cell;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      this.tags = tags;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      // tag offset will be treated as 0 and length this.tags.length<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      if (this.cell instanceof TagRewriteByteBufferCell) {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        // Cleaning the ref so that the byte[] can be GCed<a name="line.658"></a>
-<span class="sourceLineNo">659</span>        ((TagRewriteByteBufferCell) this.cell).tags = null;<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><a name="line.662"></a>
-<span class="sourceLineNo">663</span>    @Override<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    public byte[] getRowArray() {<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      return this.cell.getRowArray();<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    }<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
-<span class="sourceLineNo">668</span>    @Override<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    public int getRowOffset() {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      return this.cell.getRowOffset();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    }<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>    @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    public short getRowLength() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      return this.cell.getRowLength();<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>    @Override<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    public byte[] getFamilyArray() {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      return this.cell.getFamilyArray();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
-<span class="sourceLineNo">682</span><a name="line.682"></a>
-<span class="sourceLineNo">683</span>    @Override<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    public int getFamilyOffset() {<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      return this.cell.getFamilyOffset();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>    @Override<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    public byte getFamilyLength() {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      return this.cell.getFamilyLength();<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span><a name="line.692"></a>
-<span class="sourceLineNo">693</span>    @Override<a name="line.693"></a>
-<span class="sourceLineNo">694</span>    public byte[] getQualifierArray() {<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      return this.cell.getQualifierArray();<a name="line.695"></a>
-<span class="sourceLineNo">696</span>    }<a name="line.696"></a>
-<span class="sourceLineNo">697</span><a name="line.697"></a>
-<span class="sourceLineNo">698</span>    @Override<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    public int getQualifierOffset() {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      return this.cell.getQualifierOffset();<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>    @Override<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    public int getQualifierLength() {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      return this.cell.getQualifierLength();<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>    @Override<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    public long getTimestamp() {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      return this.cell.getTimestamp();<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    }<a name="line.711"></a>
-<span class="sourceLineNo">712</span><a name="line.712"></a>
-<span class="sourceLineNo">713</span>    @Override<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    public byte getTypeByte() {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      return this.cell.getTypeByte();<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
-<span class="sourceLineNo">717</span><a name="line.717"></a>
-<span class="sourceLineNo">718</span>    @Override<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    public long getSequenceId() {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      return this.cell.getSequenceId();<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    }<a name="line.721"></a>
-<span class="sourceLineNo">722</span><a name="line.722"></a>
-<span class="sourceLineNo">723</span>    @Override<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    public byte[] getValueArray() {<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      return this.cell.getValueArray();<a name="line.725"></a>
-<span class="sourceLineNo">726</span>    }<a name="line.726"></a>
-<span class="sourceLineNo">727</span><a name="line.727"></a>
-<span class="sourceLineNo">728</span>    @Override<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    public int getValueOffset() {<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      return this.cell.getValueOffset();<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    }<a name="line.731"></a>
-<span class="sourceLineNo">732</span><a name="line.732"></a>
-<span class="sourceLineNo">733</span>    @Override<a name="line.733"></a>
-<span class="sourceLineNo">734</span>    public int getValueLength() {<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      return this.cell.getValueLength();<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    }<a name="line.736"></a>
-<span class="sourceLineNo">737</span><a name="line.737"></a>
-<span class="sourceLineNo">738</span>    @Override<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    public byte[] getTagsArray() {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>      return this.tags;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>    @Override<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public int getTagsOffset() {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      return 0;<a name="line.745"></a>
+<span class="sourceLineNo">625</span>    public Cell deepClone() {<a name="line.625"></a>
+<span class="sourceLineNo">626</span>      Cell clonedBaseCell = ((ExtendedCell) this.cell).deepClone();<a name="line.626"></a>
+<span class="sourceLineNo">627</span>      return new TagRewriteCell(clonedBaseCell, this.tags);<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    }<a name="line.628"></a>
+<span class="sourceLineNo">629</span>  }<a name="line.629"></a>
+<span class="sourceLineNo">630</span><a name="line.630"></a>
+<span class="sourceLineNo">631</span>  @InterfaceAudience.Private<a name="line.631"></a>
+<span class="sourceLineNo">632</span>  private static class TagRewriteByteBufferCell extends ByteBufferCell implements ExtendedCell {<a name="line.632"></a>
+<span class="sourceLineNo">633</span><a name="line.633"></a>
+<span class="sourceLineNo">634</span>    protected ByteBufferCell cell;<a name="line.634"></a>
+<span class="sourceLineNo">635</span>    protected byte[] tags;<a name="line.635"></a>
+<span class="sourceLineNo">636</span>    private static final long HEAP_SIZE_OVERHEAD = ClassSize.OBJECT + 2 * ClassSize.REFERENCE;<a name="line.636"></a>
+<span class="sourceLineNo">637</span><a name="line.637"></a>
+<span class="sourceLineNo">638</span>    /**<a name="line.638"></a>
+<span class="sourceLineNo">639</span>     * @param cell The original ByteBufferCell which it rewrites<a name="line.639"></a>
+<span class="sourceLineNo">640</span>     * @param tags the tags bytes. The array suppose to contain the tags bytes alone.<a name="line.640"></a>
+<span class="sourceLineNo">641</span>     */<a name="line.641"></a>
+<span class="sourceLineNo">642</span>    public TagRewriteByteBufferCell(ByteBufferCell cell, byte[] tags) {<a name="line.642"></a>
+<span class="sourceLineNo">643</span>      assert cell instanceof ExtendedCell;<a name="line.643"></a>
+<span class="sourceLineNo">644</span>      assert tags != null;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>      this.cell = cell;<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      this.tags = tags;<a name="line.646"></a>
+<span class="sourceLineNo">647</span>      // tag offset will be treated as 0 and length this.tags.length<a name="line.647"></a>
+<span class="sourceLineNo">648</span>      if (this.cell instanceof TagRewriteByteBufferCell) {<a name="line.648"></a>
+<span class="sourceLineNo">649</span>        // Cleaning the ref so that the byte[] can be GCed<a name="line.649"></a>
+<span class="sourceLineNo">650</span>        ((TagRewriteByteBufferCell) this.cell).tags = null;<a name="line.650"></a>
+<span class="sourceLineNo">651</span>      }<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    }<a name="line.652"></a>
+<span class="sourceLineNo">653</span><a name="line.653"></a>
+<span class="sourceLineNo">654</span>    @Override<a name="line.654"></a>
+<span class="sourceLineNo">655</span>    public byte[] getRowArray() {<a name="line.655"></a>
+<span class="sourceLineNo">656</span>      return this.cell.getRowArray();<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>    @Override<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    public int getRowOffset() {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>      return this.cell.getRowOffset();<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>    @Override<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    public short getRowLength() {<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      return this.cell.getRowLength();<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    }<a name="line.667"></a>
+<span class="sourceLineNo">668</span><a name="line.668"></a>
+<span class="sourceLineNo">669</span>    @Override<a name="line.669"></a>
+<span class="sourceLineNo">670</span>    public byte[] getFamilyArray() {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      return this.cell.getFamilyArray();<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>    @Override<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    public int getFamilyOffset() {<a name="line.675"></a>
+<span class="sourceLineNo">676</span>      return this.cell.getFamilyOffset();<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    }<a name="line.677"></a>
+<span class="sourceLineNo">678</span><a name="line.678"></a>
+<span class="sourceLineNo">679</span>    @Override<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    public byte getFamilyLength() {<a name="line.680"></a>
+<span class="sourceLineNo">681</span>      return this.cell.getFamilyLength();<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    }<a name="line.682"></a>
+<span class="sourceLineNo">683</span><a name="line.683"></a>
+<span class="sourceLineNo">684</span>    @Override<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    public byte[] getQualifierArray() {<a name="line.685"></a>
+<span class="sourceLineNo">686</span>      return this.cell.getQualifierArray();<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    }<a name="line.687"></a>
+<span class="sourceLineNo">688</span><a name="line.688"></a>
+<span class="sourceLineNo">689</span>    @Override<a name="line.689"></a>
+<span class="sourceLineNo">690</span>    public int getQualifierOffset() {<a name="line.690"></a>
+<span class="sourceLineNo">691</span>      return this.cell.getQualifierOffset();<a name="line.691"></a>
+<span class="sourceLineNo">692</span>    }<a name="line.692"></a>
+<span class="sourceLineNo">693</span><a name="line.693"></a>
+<span class="sourceLineNo">694</span>    @Override<a name="line.694"></a>
+<span class="sourceLineNo">695</span>    public int getQualifierLength() {<a name="line.695"></a>
+<span class="sourceLineNo">696</span>      return this.cell.getQualifierLength();<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>    @Override<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    public long getTimestamp() {<a name="line.700"></a>
+<span class="sourceLineNo">701</span>      return this.cell.getTimestamp();<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>    @Override<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    public byte getTypeByte() {<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      return this.cell.getTypeByte();<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>    @Override<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    public long getSequenceId() {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      return this.cell.getSequenceId();<a name="line.711"></a>
+<span class="sourceLineNo">712</span>    }<a name="line.712"></a>
+<span class="sourceLineNo">713</span><a name="line.713"></a>
+<span class="sourceLineNo">714</span>    @Override<a name="line.714"></a>
+<span class="sourceLineNo">715</span>    public byte[] getValueArray() {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>      return this.cell.getValueArray();<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    }<a name="line.717"></a>
+<span class="sourceLineNo">718</span><a name="line.718"></a>
+<span class="sourceLineNo">719</span>    @Override<a name="line.719"></a>
+<span class="sourceLineNo">720</span>    public int getValueOffset() {<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      return this.cell.getValueOffset();<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
+<span class="sourceLineNo">723</span><a name="line.723"></a>
+<span class="sourceLineNo">724</span>    @Override<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    public int getValueLength() {<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      return this.cell.getValueLength();<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span><a name="line.728"></a>
+<span class="sourceLineNo">729</span>    @Override<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    public byte[] getTagsArray() {<a name="line.730"></a>
+<span class="sourceLineNo">731</span>      return this.tags;<a name="line.731"></a>
+<span class="sourceLineNo">732</span>    }<a name="line.732"></a>
+<span class="sourceLineNo">733</span><a name="line.733"></a>
+<span class="sourceLineNo">734</span>    @Override<a name="line.734"></a>
+<span class="sourceLineNo">735</span>    public int getTagsOffset() {<a name="line.735"></a>
+<span class="sourceLineNo">736</span>      return 0;<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>    @Override<a name="line.739"></a>
+<span class="sourceLineNo">740</span>    public int getTagsLength() {<a name="line.740"></a>
+<span class="sourceLineNo">741</span>      if (null == this.tags) {<a name="line.741"></a>
+<span class="sourceLineNo">742</span>        // Nulled out tags array optimization in constructor<a name="line.742"></a>
+<span class="sourceLineNo">743</span>        return 0;<a name="line.743"></a>
+<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
+<span class="sourceLineNo">745</span>      return this.tags.length;<a name="line.745"></a>
 <span class="sourceLineNo">746</span>    }<a name="line.746"></a>
 <span class="sourceLineNo">747</span><a name="line.747"></a>
 <span class="sourceLineNo">748</span>    @Override<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    public int getTagsLength() {<a name="line.749"></a>
-<span class="sourceLineNo">750</span>      if (null == this.tags) {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        // Nulled out tags array optimization in constructor<a name="line.751"></a>
-<span class="sourceLineNo">752</span>        return 0;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      }<a name="line.753"></a>
-<span class="sourceLineNo">754</span>      return this.tags.length;<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    }<a name="line.755"></a>
-<span class="sourceLineNo">756</span><a name="line.756"></a>
-<span class="sourceLineNo">757</span>    @Override<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    public void setSequenceId(long seqId) throws IOException {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      CellUtil.setSequenceId(this.cell, seqId);<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    }<a name="line.760"></a>
-<span class="sourceLineNo">761</span><a name="line.761"></a>
-<span class="sourceLineNo">762</span>    @Override<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    public void setTimestamp(long ts) throws IOException {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      CellUtil.setTimestamp(this.cell, ts);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    }<a name="line.765"></a>
-<span class="sourceLineNo">766</span><a name="line.766"></a>
-<span class="sourceLineNo">767</span>    @Override<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    public void setTimestamp(byte[] ts, int tsOffset) throws IOException {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      CellUtil.setTimestamp(this.cell, ts, tsOffset);<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    @Override<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    public long heapSize() {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>      long sum = HEAP_SIZE_OVERHEAD + CellUtil.estimatedHeapSizeOf(cell);<a name="line.774"></a>
-<span class="sourceLineNo">775</span>      if (this.tags != null) {<a name="line.775"></a>
-<span class="sourceLineNo">776</span>        sum += ClassSize.sizeOf(this.tags, this.tags.length);<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      }<a name="line.777"></a>
-<span class="sourceLineNo">778</span>      return sum;<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>    @Override<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    public int write(OutputStream out, boolean withTags) throws IOException {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      int len = ((ExtendedCell) this.cell).write(out, false);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>      if (withTags &amp;&amp; this.tags != null) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        // Write the tagsLength 2 bytes<a name="line.785"></a>
-<span class="sourceLineNo">786</span>        out.write((byte) (0xff &amp; (this.tags.length &gt;&gt; 8)));<a name="line.786"></a>
-<span class="sourceLineNo">787</span>        out.write((byte) (0xff &amp; this.tags.length));<a name="line.787"></a>
-<span class="sourceLineNo">788</span>        out.write(this.tags);<a name="line.788"></a>
-<span class="sourceLineNo">789</span>        len += KeyValue.TAGS_LENGTH_SIZE + this.tags.length;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      }<a name="line.790"></a>
-<span class="sourceLineNo">791</span>      return len;<a name="line.791"></a>
-<span class="sourceLineNo">792</span>    }<a name="line.792"></a>
-<span class="sourceLineNo">793</span><a name="line.793"></a>
-<span class="sourceLineNo">794</span>    @Override<a name="line.794"></a>
-<span class="sourceLineNo">795</span>    public int getSerializedSize(boolean withTags) {<a name="line.795"></a>
-<span class="sourceLineNo">796</span>      int len = ((ExtendedCell) this.cell).getSerializedSize(false);<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      if (withTags &amp;&amp; this.tags != null) {<a name="line.797"></a>
-<span class="sourceLineNo">798</span>        len += KeyValue.TAGS_LENGTH_SIZE + this.tags.length;<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      }<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      return len;<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>    @Override<a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void write(ByteBuffer buf, int offset) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      offset = KeyValueUtil.appendTo(this.cell, buf, offset, false);<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      int tagsLen = this.tags == null ? 0 : this.tags.length;<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      if (tagsLen &gt; 0) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        offset = ByteBufferUtils.putAsShort(buf, offset, tagsLen);<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        ByteBufferUtils.copyFromArrayToBuffer(buf, offset, this.tags, 0, tagsLen);<a name="line.809"></a>
+<span class="sourceLineNo">749</span>    public void setSequenceId(long seqId) throws IOException {<a name="line.749"></a>
+<span class="sourceLineNo">750</span>      CellUtil.setSequenceId(this.cell, seqId);<a name="line.750"></a>
+<span class="sourceLineNo">751</span>    }<a name="line.751"></a>
+<span class="sourceLineNo">752</span><a name="line.752"></a>
+<span class="sourceLineNo">753</span>    @Override<a name="line.753"></a>
+<span class="sourceLineNo">754</span>    public void setTimestamp(long ts) throws IOException {<a name="line.754"></a>
+<span class="sourceLineNo">755</span>      CellUtil.setTimestamp(this.cell, ts);<a name="line.755"></a>
+<span class="sourceLineNo">756</span>    }<a name="line.756"></a>
+<span class="sourceLineNo">757</span><a name="line.757"></a>
+<span class="sourceLineNo">758</span>    @Override<a name="line.758"></a>
+<span class="sourceLineNo">759</span>    public void setTimestamp(byte[] ts, int tsOffset) throws IOException {<a name="line.759"></a>
+<span class="sourceLineNo">760</span>      CellUtil.setTimestamp(this.cell, ts, tsOffset);<a name="line.760"></a>
+<span class="sourceLineNo">761</span>    }<a name="line.761"></a>
+<span class="sourceLineNo">762</span><a name="line.762"></a>
+<span class="sourceLineNo">763</span>    @Override<a name="line.763"></a>
+<span class="sourceLineNo">764</span>    public long heapSize() {<a name="line.764"></a>
+<span class="sourceLineNo">765</span>      long sum = HEAP_SIZE_OVERHEAD + CellUtil.estimatedHeapSizeOf(cell);<a name="line.765"></a>
+<span class="sourceLineNo">766</span>      // this.tags is on heap byte[]<a name="line.766"></a>
+<span class="sourceLineNo">767</span>      if (this.tags != null) {<a name="line.767"></a>
+<span class="sourceLineNo">768</span>        sum += ClassSize.sizeOf(this.tags, this.tags.length);<a name="line.768"></a>
+<span class="sourceLineNo">769</span>      }<a name="line.769"></a>
+<span class="sourceLineNo">770</span>      return sum;<a name="line.770"></a>
+<span class="sourceLineNo">771</span>    }<a name="line.771"></a>
+<span class="sourceLineNo">772</span><a name="line.772"></a>
+<span class="sourceLineNo">773</span>    @Override<a name="line.773"></a>
+<span class="sourceLineNo">774</span>    public int write(OutputStream out, boolean withTags) throws IOException {<a name="line.774"></a>
+<span class="sourceLineNo">775</span>      int len = ((ExtendedCell) this.cell).write(out, false);<a name="line.775"></a>
+<span class="sourceLineNo">776</span>      if (withTags &amp;&amp; this.tags != null) {<a name="line.776"></a>
+<span class="sourceLineNo">777</span>        // Write the tagsLength 2 bytes<a name="line.777"></a>
+<span class="sourceLineNo">778</span>        out.write((byte) (0xff &amp; (this.tags.length &gt;&gt; 8)));<a name="line.778"></a>
+<span class="sourceLineNo">779</span>        out.write((byte) (0xff &amp; this.tags.length));<a name="line.779"></a>
+<span class="sourceLineNo">780</span>        out.write(this.tags);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>        len += KeyValue.TAGS_LENGTH_SIZE + this.tags.length;<a name="line.781"></a>
+<span class="sourceLineNo">782</span>      }<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      return len;<a name="line.783"></a>
+<span class="sourceLineNo">784</span>    }<a name="line.784"></a>
+<span class="sourceLineNo">785</span><a name="line.785"></a>
+<span class="sourceLineNo">786</span>    @Override<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    public int getSerializedSize(boolean withTags) {<a name="line.787"></a>
+<span class="sourceLineNo">788</span>      int len = ((ExtendedCell) this.cell).getSerializedSize(false);<a name="line.788"></a>
+<span class="sourceLineNo">789</span>      if (withTags &amp;&amp; this.tags != null) {<a name="line.789"></a>
+<span class="sourceLineNo">790</span>        len += KeyValue.TAGS_LENGTH_SIZE + this.tags.length;<a name="line.790"></a>
+<span class="sourceLineNo">791</span>      }<a name="line.791"></a>
+<span class="sourceLineNo">792</span>      return len;<a name="line.792"></a>
+<span class="sourceLineNo">793</span>    }<a name="line.793"></a>
+<span class="sourceLineNo">794</span><a name="line.794"></a>
+<span class="sourceLineNo">795</span>    @Override<a name="line.795"></a>
+<span class="sourceLineNo">796</span>    public void write(ByteBuffer buf, int offset) {<a name="line.796"></a>
+<span class="sourceLineNo">797</span>      offset = KeyValueUtil.appendTo(this.cell, buf, offset, false);<a name="line.797"></a>
+<span class="sourceLineNo">798</span>      int tagsLen = this.tags == null ? 0 : this.tags.length;<a name="line.798"></a>
+<span class="sourceLineNo">799</span>      if (tagsLen &gt; 0) {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>        offset = ByteBufferUtils.putAsShort(buf, offset, tagsLen);<a name="line.800"></a>
+<span class="sourceLineNo">801</span>        ByteBufferUtils.copyFromArrayToBuffer(buf, offset, this.tags, 0, tagsLen);<a name="line.801"></a>
+<span class="sourceLineNo">802</span>      }<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    }<a name="line.803"></a>
+<span class="sourceLineNo">804</span><a name="line.804"></a>
+<span class="sourceLineNo">805</span>    @Override<a name="line.805"></a>
+<span class="sourceLineNo">806</span>    public Cell deepClone() {<a name="line.806"></a>
+<span class="sourceLineNo">807</span>      Cell clonedBaseCell = ((ExtendedCell) this.cell).deepClone();<a name="line.807"></a>
+<span class="sourceLineNo">808</span>      if (clonedBaseCell instanceof ByteBufferCell) {<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        return new TagRewriteByteBufferCell((ByteBufferCell) clonedBaseCell, this.tags);<a name="line.809"></a>
 <span class="sourceLineNo">810</span>      }<a name="line.810"></a>
-<span class="sourceLineNo">811</span>    }<a name="line.811"></a>
-<span class="sourceLineNo">812</span><a name="line.812"></a>
-<span class="sourceLineNo">813</span>    @Override<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    public long heapOverhead() {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>      long overhead = ((ExtendedCell) this.cell).heapOverhead() + HEAP_SIZE_OVERHEAD;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      if (this.tags != null) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>        overhead += ClassSize.ARRAY;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      }<a name="line.818"></a>
-<span class="sourceLineNo">819</span>      return overhead;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    }<a name="line.820"></a>
-<span class="sourceLineNo">821</span><a name="line.821"></a>
-<span class="sourceLineNo">822</span>    @Override<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    public Cell deepClone() {<a name="line.823"></a>
-<span class="sourceLineNo">824</span>      Cell clonedBaseCell = ((ExtendedCell) this.cell).deepClone();<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      if (clonedBaseCell instanceof ByteBufferCell) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>        return new TagRewriteByteBufferCell((ByteBufferCell) clonedBaseCell, this.tags);<a name="line.826"></a>
-<span class="sourceLineNo">827</span>      }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      return new TagRewriteCell(clonedBaseCell, this.tags);<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    }<a name="line.829"></a>
-<span class="sourceLineNo">830</span><a name="line.830"></a>
-<span class="sourceLineNo">831</span>    @Override<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public ByteBuffer getRowByteBuffer() {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return this.cell.getRowByteBuffer();<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    @Override<a name="line.836"></a>
-<span class="sourceLineNo">837</span>    public int getRowPosition() {<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      return this.cell.getRowPosition();<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>    @Override<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    public ByteBuffer getFamilyByteBuffer() {<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      return this.cell.getFamilyByteBuffer();<a name="line.843"></a>
-<span class="sourceLineNo">844</span>    }<a name="line.844"></a>
-<span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span>    @Override<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    public int getFamilyPosition() {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      return this.cell.getFamilyPosition();<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    }<a name="line.849"></a>
-<span class="sourceLineNo">850</span><a name="line.850"></a>
-<span class="sourceLineNo">851</span>    @Override<a name="line.851"></a>
-<span class="sourceLineNo">852</span>    public ByteBuffer getQualifierByteBuffer() {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      return this.cell.getQualifierByteBuffer();<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    @Override<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    public int getQualifierPosition() {<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      return this.cell.getQualifierPosition();<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>    @Override<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    public ByteBuffer getValueByteBuffer() {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      return this.cell.getValueByteBuffer();<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    }<a name="line.864"></a>
-<span class="sourceLineNo">865</span><a name="line.865"></a>
-<span class="sourceLineNo">866</span>    @Override<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    public int getValuePosition() {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      return this.cell.getValuePosition();<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    }<a name="line.869"></a>
-<span class="sourceLineNo">870</span><a name="line.870"></a>
-<span class="sourceLineNo">871</span>    @Override<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public ByteBuffer getTagsByteBuffer() {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      return this.tags == null ? HConstants.EMPTY_BYTE_BUFFER : ByteBuffer.wrap(this.tags);<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    @Override<a name="line.876"></a>
-<span class="sourceLineNo">877</span>    public int getTagsPosition() {<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      return 0;<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><a name="line.881"></a>
-<span class="sourceLineNo">882</span>  @InterfaceAudience.Private<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  private static class ValueAndTagRewriteCell extends TagRewriteCell {<a name="line.883"></a>
+<span class="sourceLineNo">811</span>      return new TagRewriteCell(clonedBaseCell, this.tags);<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    }<a name="line.812"></a>
+<span class="sourceLineNo">813</span><a name="line.813"></a>
+<span class="sourceLineNo">814</span>    @Override<a name="line.814"></a>
+<span class="sourceLineNo">815</span>    public ByteBuffer getRowByteBuffer() {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>      return this.cell.getRowByteBuffer();<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>    @Override<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    public int getRowPosition() {<a name="line.820"></a>
+<span class="sourceLineNo">821</span>      return this.cell.getRowPosition();<a name="line.821"></a>
+<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
+<span class="sourceLineNo">823</span><a name="line.823"></a>
+<span class="sourceLineNo">824</span>    @Override<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    public ByteBuffer getFamilyByteBuffer() {<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      return this.cell.getFamilyByteBuffer();<a name="line.826"></a>
+<span class="sourceLineNo">827</span>    }<a name="line.827"></a>
+<span class="sourceLineNo">828</span><a name="line.828"></a>
+<span class="sourceLineNo">829</span>    @Override<a name="line.829"></a>
+<span class="sourceLineNo">830</span>    public int getFamilyPosition() {<a name="line.830"></a>
+<span class="sourceLineNo">831</span>      return this.cell.getFamilyPosition();<a name="line.831"></a>
+<span class="sourceLineNo">832</span>    }<a name="line.832"></a>
+<span class="sourceLineNo">833</span><a name="line.833"></a>
+<span class="sourceLineNo">834</span>    @Override<a name="line.834"></a>
+<span class="sourceLineNo">835</span>    public ByteBuffer getQualifierByteBuffer() {<a name="line.835"></a>
+<span class="sourceLineNo">836</span>      return this.cell.getQualifierByteBuffer();<a name="line.836"></a>
+<span class="sourceLineNo">837</span>    }<a name="line.837"></a>
+<span class="sourceLineNo">838</span><a name="line.838"></a>
+<span class="sourceLineNo">839</span>    @Override<a name="line.839"></a>
+<span class="sourceLineNo">840</span>    public int getQualifierPosition() {<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      return this.cell.getQualifierPosition();<a name="line.841"></a>
+<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
+<span class="sourceLineNo">843</span><a name="line.843"></a>
+<span class="sourceLineNo">844</span>    @Override<a name="line.844"></a>
+<span class="sourceLineNo">845</span>    public ByteBuffer getValueByteBuffer() {<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      return this.cell.getValueByteBuffer();<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>    @Override<a name="line.849"></a>
+<span class="sourceLineNo">850</span>    public int getValuePosition() {<a name="line.850"></a>
+<span class="sourceLineNo">851</span>      return this.cell.getValuePosition();<a name="line.851"></a>
+<span class="sourceLineNo">852</span>    }<a name="line.852"></a>
+<span class="sourceLineNo">853</span><a name="line.853"></a>
+<span class="sourceLineNo">854</span>    @Override<a name="line.854"></a>
+<span class="sourceLineNo">855</span>    public ByteBuffer getTagsByteBuffer() {<a name="line.855"></a>
+<span class="sourceLineNo">856</span>      return this.tags == null ? HConstants.EMPTY_BYTE_BUFFER : ByteBuffer.wrap(this.tags);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>    }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>    @Override<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    public int getTagsPosition() {<a name="line.860"></a>
+<span class="sourceLineNo">861</span>      return 0;<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
+<span class="sourceLineNo">863</span>  }<a name="line.863"></a>
+<span class="sourceLineNo">864</span><a name="line.864"></a>
+<span class="sourceLineNo">865</span>  @InterfaceAudience.Private<a name="line.865"></a>
+<span class="sourceLineNo">866</span>  private static class ValueAndTagRewriteCell extends TagRewriteCell {<a name="line.866"></a>
+<span class="sourceLineNo">867</span><a name="line.867"></a>
+<span class="sourceLineNo">868</span>    protected byte[] value;<a name="line.868"></a>
+<span class="sourceLineNo">869</span><a name="line.869"></a>
+<span class="sourceLineNo">870</span>    public ValueAndTagRewriteCell(Cell cell, byte[] value, byte[] tags) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>      super(cell, tags);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>      this.value = value;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>    }<a name="line.873"></a>
+<span class="sourceLineNo">874</span><a name="line.874"></a>
+<span class="sourceLineNo">875</span>    @Override<a name="line.875"></a>
+<span class="sourceLineNo">876</span>    public byte[] getValueArray() {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>      return this.value;<a name="line.877"></a>
+<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
+<span class="sourceLineNo">879</span><a name="line.879"></a>
+<span class="sourceLineNo">880</span>    @Override<a name="line.880"></a>
+<span class="sourceLineNo">881</span>    public int getValueOffset() {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>      return 0;<a name="line.882"></a>
+<span class="sourceLineNo">883</span>    }<a name="line.883"></a>
 <span class="sourceLineNo">884</span><a name="line.884"></a>
-<span class="sourceLineNo">885</span>    protected byte[] value;<a name="line.885"></a>
-<span class="sourceLineNo">886</span><a name="line.886"></a>
-<span class="sourceLineNo">887</span>    public ValueAndTagRewriteCell(Cell cell, byte[] value, byte[] tags) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>      super(cell, tags);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.value = value;<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>    @Override<a name="line.892"></a>
-<span class="sourceLineNo">893</span>    public byte[] getValueArray() {<a name="line.893"></a>
-<span class="sourceLineNo">894</span>      return this.value;<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
-<span class="sourceLineNo">896</span><a name="line.896"></a>
-<span class="sourceLineNo">897</span>    @Override<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    public int getValueOffset() {<a name="line.898"></a>
-<span class="sourceLineNo">899</span>      return 0;<a name="line.899"></a>
-<span class="sourceLineNo">900</span>    }<a name="line.900"></a>
-<span class="sourceLineNo">901</span><a name="line.901"></a>
-<span class="sourceLineNo">902</span>    @Override<a name="line.902"></a>
-<span class="sourceLineNo">903</span>    public int getValueLength() {<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      return this.value == null ? 0 : this.value.length;<a name="line.904"></a>
-<span class="sourceLineNo">905</span>    }<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span>    @Override<a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public long heapSize() {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      long sum = ClassSize.REFERENCE + super.heapSize();<a name="line.909"></a>
-<span class="sourceLineNo">910</span>      if (this.value != null) {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>        sum += ClassSize.sizeOf(this.value, this.value.length);<a name="line.911"></a>
-<span class="sourceLineNo">912</span>      }<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      return sum;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    @Override<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    public int write(OutputStream out, boolean withTags) throws IOException {<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      return write(out, withTags, this.cell, this.value, this.tags);<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    }<a name="line.919"></a>
-<span class="sourceLineNo">920</span><a name="line.920"></a>
-<span class="sourceLineNo">921</span>    // Made into a static method so as to reuse the logic within ValueAndTagRewriteByteBufferCell<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    static int write(OutputStream out, boolean withTags, Cell cell, byte[] value, byte[] tags)<a name="line.922"></a>
-<span class="sourceLineNo">923</span>        throws IOException {<a name="line.923"></a>
-<span class="sourceLineNo">924</span>      int valLen = value == null ? 0 : value.length;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      ByteBufferUtils.putInt(out, KeyValueUtil.keyLength(cell));// Key length<a name="line.925"></a>
-<span class="sourceLineNo">926</span>      ByteBufferUtils.putInt(out, valLen);// Value length<a name="line.926"></a>
-<span class="sourceLineNo">927</span>      int len = 2 * Bytes.SIZEOF_INT;<a name="line.927"></a>
-<span class="sourceLineNo">928</span>      len += CellUtil.writeFlatKey(cell, out);// Key<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      if (valLen &gt; 0) out.write(value);// Value<a name="line.929"></a>
-<span class="sourceLineNo">930</span>      len += valLen;<a name="line.930"></a>
-<span class="sourceLineNo">931</span>      if (withTags &amp;&amp; tags != null) {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>        // Write the tagsLength 2 bytes<a name="line.932"></a>
-<span class="sourceLineNo">933</span>        out.write((byte) (0xff &amp; (tags.length &gt;&gt; 8)));<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        out.write((byte) (0xff &amp; tags.length));<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        out.write(tags);<a name="line.935"></a>
-<span class="sourceLineNo">936</span>        len += KeyValue.TAGS_LENGTH_SIZE + tags.length;<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      }<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      return len;<a name="line.938"></a>
-<span class="sourceLineNo">939</span>    }<a name="line.939"></a>
-<span class="sourceLineNo">940</span><a name="line.940"></a>
-<span class="sourceLineNo">941</span>    @Override<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    public int getSerializedSize(boolean withTags) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>      return super.getSerializedSize(withTags) - this.cell.getValueLength() + this.value.length;<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    }<a name="line.944"></a>
-<span class="sourceLineNo">945</span><a name="line.945"></a>
-<span class="sourceLineNo">946</span>    @Override<a name="line.946"></a>
-<span class="sourceLineNo">947</span>    public void write(ByteBuffer buf, int offset) {<a name="line.947"></a>
-<span class="sourceLineNo">948</span>      write(buf, offset, this.cell, this.value, this.tags);<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    }<a name="line.949"></a>
-<span class="sourceLineNo">950</span><a name="line.950"></a>
-<span class="sourceLineNo">951</span>    // Made into a static method so as to reuse the logic within ValueAndTagRewriteByteBufferCell<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    static void write(ByteBuffer buf, int offset, Cell cell, byte[] value, byte[] tags) {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      offset = ByteBufferUtils.putInt(buf, offset, KeyValueUtil.keyLength(cell));// Key length<a name="line.953"></a>
-<span class="sourceLineNo">954</span>      offset = ByteBufferUtils.putInt(buf, offset, value.length);// Value length<a name="line.954"></a>
-<span class="sourceLineNo">955</span>      offset = KeyValueUtil.appendKeyTo(cell, buf, offset);<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      ByteBufferUtils.copyFromArrayToBuffer(buf, offset, value, 0, value.length);<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      offset += value.length;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>      int tagsLen = tags == null ? 0 : tags.length;<a name="line.958"></a>
-<span class="sourceLineNo">959</span>      if (tagsLen &gt; 0) {<a name="line.959"></a>
-<span class="sourceLineNo">960</span>        offset = ByteBufferUtils.putAsShort(buf, offset, tagsLen);<a name="line.960"></a>
-<span class="sourceLineNo">961</span>        ByteBufferUtils.copyFromArrayToBuffer(buf, offset, tags, 0, tagsLen);<a name="line.961"></a>
-<span class="sourceLineNo">962</span>      }<a name="line.962"></a>
+<span class="sourceLineNo">885</span>    @Override<a name="line.885"></a>
+<span class="sourceLineNo">886</span>    public int getValueLength() {<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      return this.value == null ? 0 : this.value.length;<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span><a name="line.889"></a>
+<span class="sourceLineNo">890</span>    @Override<a name="line.890"></a>
+<span class="sourceLineNo">891</span>    public long heapSize() {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>      long sum = ClassSize.REFERENCE + super.heapSize();<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      if (this.value != null) {<a name="line.893"></a>
+<span class="sourceLineNo">894</span>        sum += ClassSize.sizeOf(this.value, this.value.length);<a name="line.894"></a>
+<span class="sourceLineNo">895</span>      }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>      return sum;<a name="line.896"></a>
+<span class="sourceLineNo">897</span>    }<a name="line.897"></a>
+<span class="sourceLineNo">898</span><a name="line.898"></a>
+<span class="sourceLineNo">899</span>    @Override<a name="line.899"></a>
+<span class="sourceLineNo">900</span>    public int write(OutputStream out, boolean withTags) throws IOException {<a name="line.900"></a>
+<span class="sourceLineNo">901</span>      return write(out, withTags, this.cell, this.value, this.tags);<a name="line.901"></a>
+<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
+<span class="sourceLineNo">903</span><a name="line.903"></a>
+<span class="sourceLineNo">904</span>    // Made into a static method so as to reuse the logic within ValueAndTagRewriteByteBufferCell<a name="line.904"></a>
+<span class="sourceLineNo">905</span>    static int write(OutputStream out, boolean withTags, Cell cell, byte[] value, byte[] tags)<a name="line.905"></a>
+<span class="sourceLineNo">906</span>        throws IOException {<a name="line.906"></a>
+<span class="sourceLineNo">907</span>      int valLen = value == null ? 0 : value.length;<a name="line.907"></a>
+<span class="sourceLineNo">908</span>      ByteBufferUtils.putInt(out, KeyValueUtil.keyLength(cell));// Key length<a name="line.908"></a>
+<span class="sourceLineNo">909</span>      ByteBufferUtils.putInt(out, valLen);// Value length<a name="line.909"></a>
+<span class="sourceLineNo">910</span>      int len = 2 * Bytes.SIZEOF_INT;<a name="line.910"></a>
+<span class="sourceLineNo">911</span>      len += CellUtil.writeFlatKey(cell, out);// Key<a name="line.911"></a>
+<span class="sourceLineNo">912</span>      if (valLen &gt; 0) out.write(value);// Value<a name="line.912"></a>
+<span class="sourceLineNo">913</span>      len += valLen;<a name="line.913"></a>
+<span class="sourceLineNo">914</span>      if (withTags &amp;&amp; tags != null) {<a name="line.914"></a>
+<span class="sourceLineNo">915</span>        // Write the tagsLength 2 bytes<a name="line.915"></a>
+<span class="sourceLineNo">916</span>        out.write((byte) (0xff &amp; (tags.length &gt;&gt; 8)));<a name="line.916"></a>
+<span class="sourceLineNo">917</span>        out.write((byte) (0xff &amp; tags.length));<a name="line.917"></a>
+<span class="sourceLineNo">918</span>        out.write(tags);<a name="line.918"></a>
+<span class="sourceLineNo">919</span>        len += KeyValue.TAGS_LENGTH_SIZE + tags.length;<a name="line.919"></a>
+<span class="sourceLineNo">920</span>      }<a name="line.920"></a>
+<span class="sourceLineNo">921</span>      return len;<a name="line.921"></a>
+<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
+<span class="sourceLineNo">923</span><a name="line.923"></a>
+<span class="sourceLineNo">924</span>    @Override<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    public int getSerializedSize(boolean withTags) {<a name="line.925"></a>
+<span class="sourceLineNo">926</span>      return super.getSerializedSize(withTags) - this.cell.getValueLength() + this.value.length;<a name="line.926"></a>
+<span class="sourceLineNo">927</span>    }<a name="line.927"></a>
+<span class="sourceLineNo">928</span><a name="line.928"></a>
+<span class="sourceLineNo">929</span>    @Override<a name="line.929"></a>
+<span class="sourceLineNo">930</span>    public void write(ByteBuffer buf, int offset) {<a name="line.930"></a>
+<span class="sourceLineNo">931</span>      write(buf, offset, this.cell, this.value, this.tags);<a name="line.931"></a>
+<span class="sourceLineNo">932</span>    }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span>    // Made into a static method so as to reuse the logic within ValueAndTagRewriteByteBufferCell<a name="line.934"></a>
+<span class="sourceLineNo">935</span>    static void write(ByteBuffer buf, int offset, Cell cell, byte[] value, byte[] tags) {<a name="line.935"></a>
+<span class="sourceLineNo">936</span>      offset = ByteBufferUtils.putInt(buf, offset, KeyValueUtil.keyLength(cell));// Key length<a name="line.936"></a>
+<span class="sourceLineNo">937</span>      offset = ByteBufferUtils.putInt(buf, offset, value.length);// Value length<a name="line.937"></a>
+<span class="sourceLineNo">938</span>      offset = KeyValueUtil.appendKeyTo(cell, buf, offset);<a name="line.938"></a>
+<span class="sourceLineNo">939</span>      ByteBufferUtils.copyFromArrayToBuffer(buf, offset, value, 0, value.length);<a name="line.939"></a>
+<span class="sourceLineNo">940</span>      offset += value.length;<a name="line.940"></a>
+<span class="sourceLineNo">941</span>      int tagsLen = tags == null ? 0 : tags.length;<a name="line.941"></a>
+<span class="sourceLineNo">942</span>      if (tagsLen &gt; 0) {<a name="line.942"></a>
+<span class="sourceLineNo">943</span>        offset = ByteBufferUtils.putAsShort(buf, offset, tagsLen);<a name="line.943"></a>
+<span class="sourceLineNo">944</span>        ByteBufferUtils.copyFromArrayToBuffer(buf, offset, tags, 0, tagsLen);<a name="line.944"></a>
+<span class="sourceLineNo">945</span>      }<a name="line.945"></a>
+<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
+<span class="sourceLineNo">947</span><a name="line.947"></a>
+<span class="sourceLineNo">948</span>    @Override<a name="line.948"></a>
+<span class="sourceLineNo">949</span>    public Cell deepClone() {<a name="line.949"></a>
+<span class="sourceLineNo">950</span>      Cell clonedBaseCell = ((ExtendedCell) this.cell).deepClone();<a name="line.950"></a>
+<span class="sourceLineNo">951</span>      return new ValueAndTagRewriteCell(clonedBaseCell, this.value, this.tags);<a name="line.951"></a>
+<span class="sourceLineNo">952</span>    }<a name="line.952"></a>
+<span class="sourceLineNo">953</span>  }<a name="line.953"></a>
+<span class="sourceLineNo">954</span><a name="line.954"></a>
+<span class="sourceLineNo">955</span>  @InterfaceAudience.Private<a name="line.955"></a>
+<span class="sourceLineNo">956</span>  private static class ValueAndTagRewriteByteBufferCell extends TagRewriteByteBufferCell {<a name="line.956"></a>
+<span class="sourceLineNo">957</span><a name="line.957"></a>
+<span class="sourceLineNo">958</span>    protected byte[] value;<a name="line.958"></a>
+<span class="sourceLineNo">959</span><a name="line.959"></a>
+<span class="sourceLineNo">960</span>    public ValueAndTagRewriteByteBufferCell(ByteBufferCell cell, byte[] value, byte[] tags) {<a name="line.960"></a>
+<span class="sourceLineNo">961</span>      super(cell, tags);<a name="line.961"></a>
+<span class="sourceLineNo">962</span>      this.value = value;<a name="line.962"></a>
 <span class="sourceLineNo">963</span>    }<a name="line.963"></a>
 <span class="sourceLineNo">964</span><a name="line.964"></a>
 <span class="sourceLineNo">965</span>    @Override<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    public long heapOverhead() {<a name="line.966"></a>
-<span class="sourceLineNo">967</span>      long overhead = super.heapOverhead() + ClassSize.REFERENCE;<a name="line.967"></a>
-<span class="sourceLineNo">968</span>      if (this.value != null) {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>        overhead += ClassSize.ARRAY;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>      }<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      return overhead;<a name="line.971"></a>
-<span class="sourceLineNo">972</span>    }<a name="line.972"></a>
-<span class="sourceLineNo">973</span><a name="line.973"></a>
-<span class="sourceLineNo">974</span>    @Override<a name="line.974"></a>
-<span class="sourceLineNo">975</span>    public Cell deepClone() {<a name="line.975"></a>
-<span class="sourceLineNo">976</span>      Cell clonedBaseCell = ((ExtendedCell) this.cell).deepClone();<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return new ValueAndTagRewriteCell(clonedBaseCell, this.value, this.tags);<a name="line.977"></a>
+<span class="sourceLineNo">966</span>    public byte[] getValueArray() {<a name="line.966"></a>
+<span class="sourceLineNo">967</span>      return this.value;<a name="line.967"></a>
+<span class="sourceLineNo">968</span>    }<a name="line.968"></a>
+<span class="sourceLineNo">969</span><a name="line.969"></a>
+<span class="sourceLineNo">970</span>    @Override<a name="line.970"></a>
+<span class="sourceLineNo">971</span>    public int getValueOffset() {<a name="line.971"></a>
+<span class="sourceLineNo">972</span>      return 0;<a name="line.972"></a>
+<span class="sourceLineNo">973</span>    }<a name="line.973"></a>
+<span class="sourceLineNo">974</span><a name="line.974"></a>
+<span class="sourceLineNo">975</span>    @Override<a name="line.975"></a>
+<span class="sourceLineNo">976</span>    public int getValueLength() {<a name="line.976"></a>
+<span class="sourceLineNo">977</span>      return this.value == null ? 0 : this.value.length;<a name="line.977"></a>
 <span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span>  }<a name="line.979"></a>
-<span class="sourceLineNo">980</span><a name="line.980"></a>
-<span class="sourceLineNo">981</span>  @InterfaceAudience.Private<a name="line.981"></a>
-<span class="sourceLineNo">982</span>  private static class ValueAndTagRewriteByteBufferCell extends TagRewriteByteBufferCell {<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    protected byte[] value;<a name="line.984"></a>
-<span class="sourceLineNo">985</span><a name="line.985"></a>
-<span class="sourceLineNo">986</span>    public ValueAndTagRewriteByteBufferCell(ByteBufferCell cell, byte[] value, byte[] tags) {<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      super(cell, tags);<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      this.value = value;<a name="line.988"></a>
-<span class="sourceLineNo">989</span>    }<a name="line.989"></a>
-<span class="sourceLineNo">990</span><a name="line.990"></a>
-<span class="sourceLineNo">991</span>    @Override<a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public byte[] getValueArray() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return this.value;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    @Override<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    public int getValueOffset() {<a name="line.997"></a>
-<span class="sourceLineNo">998</span>      return 0;<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span><a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    @Override<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    public int getValueLength() {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>      return this.value == null ? 0 : this.value.length;<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    }<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span><a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    @Override<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>    public ByteBuffer getValueByteBuffer() {<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>      return ByteBuffer.wrap(this.value);<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>    }<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span><a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>    @Override<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public int getValuePosition() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return 0;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    @Override<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>    public long heapSize() {<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>      long sum = ClassSize.REFERENCE + super.heapSize();<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>      if (this.value != null) {<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>        sum += ClassSize.sizeOf(this.value, this.value.length);<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>      return sum;<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>    }<a name="line.1023"></a>
+<span class="sourceLineNo">979</span><a name="line.979"></a>
+<span class="sourceLineNo">980</span>    @Override<a name="line.980"></a>
+<span class="sourceLineNo">981</span>    public ByteBuffer getValueByteBuffer() {<a name="line.981"></a>
+<span class="sourceLineNo">982</span>      return ByteBuffer.wrap(this.value);<a name="line.982"></a>
+<span class="sourceLineNo">983</span>    }<a name="line.983"></a>
+<span class="sourceLineNo">984</span><a name="line.984"></a>
+<span class="sourceLineNo">985</span>    @Override<a name="line.985"></a>
+<span class="sourceLineNo">986</span>    public int getValuePosition() {<a name="line.986"></a>
+<span class="sourceLineNo">987</span>      return 0;<a name="line.987"></a>
+<span class="sourceLineNo">988</span>    }<a name="line.988"></a>
+<span class="sourceLineNo">989</span><a name="line.989"></a>
+<span class="sourceLineNo">990</span>    @Override<a name="line.990"></a>
+<span class="sourceLineNo">991</span>    public long heapSize() {<a name="line.991"></a>
+<span class="sourceLineNo">992</span>      long sum = ClassSize.REFERENCE + super.heapSize();<a name="line.992"></a>
+<span class="sourceLineNo">993</span>      if (this.value != null) {<a name="line.993"></a>
+<span class="sourceLineNo">994</span>        sum += ClassSize.sizeOf(this.value, this.value.length);<a name="line.994"></a>
+<span class="sourceLineNo">995</span>      }<a name="line.995"></a>
+<span class="sourceLineNo">996</span>      return sum;<a name="line.996"></a>
+<span class="sourceLineNo">997</span>    }<a name="line.997"></a>
+<span class="sourceLineNo">998</span><a name="line.998"></a>
+<span class="sourceLineNo">999</span>    @Override<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>    public int write(OutputStream out, boolean withTags) throws IOException {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>      return ValueAndTagRewriteCell.write(out, withTags, this.cell, this.value, this.tags);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>    @Override<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>    public int getSerializedSize(boolean withTags) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>      return super.getSerializedSize(withTags) - this.cell.getValueLength() + this.value.length;<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>    }<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span><a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>    @Override<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>    public void write(ByteBuffer buf, int offset) {<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>      ValueAndTagRewriteCell.write(buf, offset, this.cell, this.value, this.tags);<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>    @Override<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>    public Cell deepClone() {<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>      Cell clonedBaseCell = ((ExtendedCell) this.cell).deepClone();<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>      if (clonedBaseCell instanceof ByteBufferCell) {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>        return new ValueAndTagRewriteByteBufferCell((ByteBufferCell) clonedBaseCell, this.value,<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>            this.tags);<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>      }<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>      return new ValueAndTagRewriteCell(clonedBaseCell, this.value, this.tags);<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>  }<a name="line.1023"></a>
 <span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>    @Override<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    public int write(OutputStream out, boolean withTags) throws IOException {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>      return ValueAndTagRewriteCell.write(out, withTags, this.cell, this.value, this.tags);<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    }<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span><a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    @Override<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>    public int getSerializedSize(boolean withTags) {<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>      return super.getSerializedSize(withTags) - this.cell.getValueLength() + this.value.length;<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    }<a name="line.1033"></a>
+<span class="sourceLineNo">1025</span>  /**<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>   * @param cellScannerables<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>   * @return CellScanner interface over &lt;code&gt;cellIterables&lt;/code&gt;<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>   */<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  public static CellScanner createCellScanner(<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>      final List&lt;? extends CellScannable&gt; cellScannerables) {<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>    return new CellScanner() {<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>      private final Iterator&lt;? extends CellScannable&gt; iterator = cellScannerables.iterator();<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>      private CellScanner cellScanner = null;<a name="line.1033"></a>
 <span class="sourceLineNo">1034</span><a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>    @Override<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void write(ByteBuffer buf, int offset) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      ValueAndTagRewriteCell.write(buf, offset, this.cell, this.value, this.tags);<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
+<span class="sourceLineNo">1035</span>      @Override<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>      public Cell current() {<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>        return this.cellScanner != null? this.cellScanner.current(): null;<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>      }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    @Override<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>    public long heapOverhead() {<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>      long overhead = super.heapOverhead() + ClassSize.REFERENCE;<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>      if (this.value != null) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>        overhead += ClassSize.ARRAY;<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      }<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>      return overhead;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span><a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    @Override<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    public Cell deepClone() {<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>      Cell clonedBaseCell = ((ExtendedCell) this.cell).deepClone();<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>      if (clonedBaseCell instanceof ByteBufferCell) {<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>        return new ValueAndTagRewriteByteBufferCell((ByteBufferCell) clonedBaseCell, this.value,<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>            this.tags);<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>      }<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>      return new ValueAndTagRewriteCell(clonedBaseCell, this.value, this.tags);<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>    }<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>  }<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span><a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>  /**<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>   * @param cellScannerables<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>   * @return CellScanner interface over &lt;code&gt;cellIterables&lt;/code&gt;<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>   */<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>  public static CellScanner createCellScanner(<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>      final List&lt;? extends CellScannable&gt; cellScannerables) {<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>    return new CellScanner() {<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      private final Iterator&lt;? extends CellScannable&gt; iterator = cellScannerables.iterator();<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      private CellScanner cellScanner = null;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span><a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>      @Override<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>      public Cell current() {<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        return this.cellScanner != null? this.cellScanner.current(): null;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      }<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>      @Override<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>      public boolean advance() throws IOException {<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>        while (true) {<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>          if (this.cellScanner == null) {<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>            if (!this.iterator.hasNext()) return false;<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>            this.cellScanner = this.iterator.next().cellScanner();<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>          }<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>          if (this.cellScanner.advance()) return true;<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>          this.cellScanner = null;<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>        }<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>      }<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    };<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>  }<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span><a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>  /**<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>   * @param cellIterable<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>   * @return CellScanner interface over &lt;code&gt;cellIterable&lt;/code&gt;<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>   */<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  public static CellScanner createCellScanner(final Iterable&lt;Cell&gt; cellIterable) {<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>    if (cellIterable == null) return null;<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>    return createCellScanner(cellIterable.iterator());<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  }<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span><a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>  /**<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   * @param cells<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   * @return CellScanner interface over &lt;code&gt;cellIterable&lt;/code&gt; or null if &lt;code&gt;cells&lt;/code&gt; is<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * null<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>   */<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static CellScanner createCellScanner(final Iterator&lt;Cell&gt; cells) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    if (cells == null) return null;<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>    return new CellScanner() {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>      private final Iterator&lt;Cell&gt; iterator = cells;<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>      private Cell current = null;<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span><a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>      @Override<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>      public Cell current() {<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>        return this.current;<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>      }<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span><a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>      @Override<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>      public boolean advance() {<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>        boolean hasNext = this.iterator.hasNext();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>        this.current = hasNext? this.iterator.next(): null;<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>        return hasNext;<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>      }<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>    };<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  }<a name="line.1121"></a>
+<span class="sourceLineNo">1040</span>      @Override<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>      public boolean advance() throws IOException {<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>        while (true) {<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>          if (this.cellScanner == null) {<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>            if (!this.iterator.hasNext()) return false;<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>            this.cellScanner = this.iterator.next().cellScanner();<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>          }<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>          if (this.cellScanner.advance()) return true;<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>          this.cellScanner = null;<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>        }<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>      }<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>    };<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  }<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span><a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>  /**<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>   * @param cellIterable<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>   * @return CellScanner interface over &lt;code&gt;cellIterable&lt;/code&gt;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>   */<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>  public static CellScanner createCellScanner(final Iterable&lt;Cell&gt; cellIterable) {<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>    if (cellIterable == null) return null;<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    return createCellScanner(cellIterable.iterator());<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>  }<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span><a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>  /**<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>   * @param cells<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>   * @return CellScanner interface over &lt;code&gt;cellIterable&lt;/code&gt; or null if &lt;code&gt;cells&lt;/code&gt; is<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>   * null<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>   */<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>  public static CellScanner createCellScanner(final Iterator&lt;Cell&gt; cells) {<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>    if (cells == null) return null;<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>    return new CellScanner() {<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>      private final Iterator&lt;Cell&gt; iterator = cells;<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>      private Cell current = null;<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span><a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>      @Override<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>      public Cell current() {<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>        return this.current;<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>      }<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span><a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>      @Override<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>      public boolean advance() {<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>        boolean hasNext = this.iterator.hasNext();<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>        this.current = hasNext? this.iterator.next(): null;<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>        return hasNext;<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>      }<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>    };<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>  }<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span><a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>  /**<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>   * @param cellArray<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>   * @return CellScanner interface over &lt;code&gt;cellArray&lt;/code&gt;<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>   */<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>  public static CellScanner createCellScanner(final Cell[] cellArray) {<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>    return new CellScanner() {<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>      private final Cell [] cells = cellArray;<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>      private int index = -1;<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span><a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>      @Override<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>      public Cell current() {<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>        if (cells == null) return null;<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>        return (index &lt; 0)? null: this.cells[index];<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>      }<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span><a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      @Override<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>      public boolean advance() {<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>        if (cells == null) return false;<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>        return ++index &lt; this.cells.length;<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>      }<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>    };<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>  }<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span><a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>  /**<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>   * Flatten the map of cells out under the CellScanner<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>   * @param map Map of Cell Lists; for example, the map of families to Cells that is used<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>   * inside Put, etc., keeping Cells organized by family.<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>   * @return CellScanner interface over &lt;code&gt;cellIterable&lt;/code&gt;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>   */<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static CellScanner createCellScanner(final NavigableMap&lt;byte [], List&lt;Cell&gt;&gt; map) {<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>    return new CellScanner() {<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>      private final Iterator&lt;Entry&lt;byte[], List&lt;Cell&gt;&gt;&gt; entries = map.entrySet().iterator();<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>      private Iterator&lt;Cell&gt; currentIterator = null;<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>      private Cell currentCell;<a name="line.1121"></a>
 <span class="sourceLineNo">1122</span><a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  /**<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>   * @param cellArray<a name="line.1124"></a>
-<span 

<TRUNCATED>

[14/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
index e5afc32..32c4a50 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
@@ -124,309 +124,309 @@
 <span class="sourceLineNo">116</span>      } else {<a name="line.116"></a>
 <span class="sourceLineNo">117</span>        if (range.contains(rowArr, offset, length)) {<a name="line.117"></a>
 <span class="sourceLineNo">118</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        } else currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    } else {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      currentReturnCode = ReturnCode.INCLUDE;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    return false;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  @Override<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  public ReturnCode filterKeyValue(Cell ignored) {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    return currentReturnCode;<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>  @Override<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public Cell getNextCellHint(Cell currentKV) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    // skip to the next range's start row<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    return CellUtil.createFirstOnRow(range.startRow, 0,<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        (short) range.startRow.length);<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>
-<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * @return The filter serialized using pb<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   */<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public byte[] toByteArray() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        .newBuilder();<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    for (RowRange range : rangeList) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      if (range != null) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        FilterProtos.RowRange.Builder rangebuilder = FilterProtos.RowRange.newBuilder();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (range.startRow != null)<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          rangebuilder.setStartRow(UnsafeByteOperations.unsafeWrap(range.startRow));<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        rangebuilder.setStartRowInclusive(range.startRowInclusive);<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        if (range.stopRow != null)<a name="line.151"></a>
-<span class="sourceLineNo">152</span>          rangebuilder.setStopRow(UnsafeByteOperations.unsafeWrap(range.stopRow));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        rangebuilder.setStopRowInclusive(range.stopRowInclusive);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        range.isScan = Bytes.equals(range.startRow, range.stopRow) ? 1 : 0;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        builder.addRowRangeList(rangebuilder.build());<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      }<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    return builder.build().toByteArray();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param pbBytes A pb serialized instance<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @return An instance of MultiRowRangeFilter<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public static MultiRowRangeFilter parseFrom(final byte[] pbBytes)<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      throws DeserializationException {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    FilterProtos.MultiRowRangeFilter proto;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    try {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      proto = FilterProtos.MultiRowRangeFilter.parseFrom(pbBytes);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    } catch (InvalidProtocolBufferException e) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      throw new DeserializationException(e);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    int length = proto.getRowRangeListCount();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    List&lt;FilterProtos.RowRange&gt; rangeProtos = proto.getRowRangeListList();<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    List&lt;RowRange&gt; rangeList = new ArrayList&lt;RowRange&gt;(length);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    for (FilterProtos.RowRange rangeProto : rangeProtos) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      RowRange range = new RowRange(rangeProto.hasStartRow() ? rangeProto.getStartRow()<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          .toByteArray() : null, rangeProto.getStartRowInclusive(), rangeProto.hasStopRow() ?<a name="line.179"></a>
-<span class="sourceLineNo">180</span>              rangeProto.getStopRow().toByteArray() : null, rangeProto.getStopRowInclusive());<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      rangeList.add(range);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    }<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    return new MultiRowRangeFilter(rangeList);<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">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @param o the filter to compare<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   *         corresponding fields in other. Used for testing.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    if (o == this)<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return true;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    if (!(o instanceof MultiRowRangeFilter))<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return false;<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    MultiRowRangeFilter other = (MultiRowRangeFilter) o;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (this.rangeList.size() != other.rangeList.size())<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return false;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    for (int i = 0; i &lt; rangeList.size(); ++i) {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      RowRange thisRange = this.rangeList.get(i);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      RowRange otherRange = other.rangeList.get(i);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      if (!(Bytes.equals(thisRange.startRow, otherRange.startRow) &amp;&amp; Bytes.equals(<a name="line.203"></a>
-<span class="sourceLineNo">204</span>          thisRange.stopRow, otherRange.stopRow) &amp;&amp; (thisRange.startRowInclusive ==<a name="line.204"></a>
-<span class="sourceLineNo">205</span>          otherRange.startRowInclusive) &amp;&amp; (thisRange.stopRowInclusive ==<a name="line.205"></a>
-<span class="sourceLineNo">206</span>          otherRange.stopRowInclusive))) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        return false;<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>    return true;<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>  /**<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * calculate the position where the row key in the ranges list.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   *<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @param rowKey the row key to calculate<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * @return index the position of the row key<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private int getNextRangeIndex(byte[] rowKey) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    RowRange temp = new RowRange(rowKey, true, null, true);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    int index = Collections.binarySearch(rangeList, temp);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    if (index &lt; 0) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      int insertionPosition = -index - 1;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      // check if the row key in the range before the insertion position<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      if (insertionPosition != 0 &amp;&amp; rangeList.get(insertionPosition - 1).contains(rowKey)) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        return insertionPosition - 1;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      // check if the row key is before the first range<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      if (insertionPosition == 0 &amp;&amp; !rangeList.get(insertionPosition).contains(rowKey)) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        return ROW_BEFORE_FIRST_RANGE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      if (!initialized) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        initialized = true;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      return insertionPosition;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    // the row key equals one of the start keys, and the the range exclude the start key<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    if(rangeList.get(index).startRowInclusive == false) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      EXCLUSIVE = true;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    return index;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  }<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>   * sort the ranges and if the ranges with overlap, then merge them.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   *<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * @param ranges the list of ranges to sort and merge.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * @return the ranges after sort and merge.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  public static List&lt;RowRange&gt; sortAndMerge(List&lt;RowRange&gt; ranges) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    if (ranges.isEmpty()) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      throw new IllegalArgumentException("No ranges found.");<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    List&lt;RowRange&gt; invalidRanges = new ArrayList&lt;RowRange&gt;();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    List&lt;RowRange&gt; newRanges = new ArrayList&lt;RowRange&gt;(ranges.size());<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    Collections.sort(ranges);<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    if(ranges.get(0).isValid()) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      if (ranges.size() == 1) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        newRanges.add(ranges.get(0));<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      }<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      invalidRanges.add(ranges.get(0));<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    byte[] lastStartRow = ranges.get(0).startRow;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    boolean lastStartRowInclusive = ranges.get(0).startRowInclusive;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    byte[] lastStopRow = ranges.get(0).stopRow;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    boolean lastStopRowInclusive = ranges.get(0).stopRowInclusive;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    int i = 1;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    for (; i &lt; ranges.size(); i++) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      RowRange range = ranges.get(i);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      if (!range.isValid()) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        invalidRanges.add(range);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      if(Bytes.equals(lastStopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.276"></a>
-<span class="sourceLineNo">277</span>            lastStopRowInclusive));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        break;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // with overlap in the ranges<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      if ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp; !(lastStopRowInclusive == false &amp;&amp;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          range.isStartRowInclusive() == false))) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.285"></a>
-<span class="sourceLineNo">286</span>              range.stopRowInclusive));<a name="line.286"></a>
-<span class="sourceLineNo">287</span>          break;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        // if first range contains second range, ignore the second range<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          if((Bytes.compareTo(lastStopRow, range.stopRow) == 0)) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>            if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>              lastStopRowInclusive = true;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>          if ((i + 1) == ranges.size()) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.297"></a>
-<span class="sourceLineNo">298</span>                lastStopRowInclusive));<a name="line.298"></a>
-<span class="sourceLineNo">299</span>          }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>          lastStopRow = range.stopRow;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          if ((i + 1) &lt; ranges.size()) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            i++;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>            range = ranges.get(i);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>            if (!range.isValid()) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>              invalidRanges.add(range);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>            }<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          } else {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                lastStopRowInclusive));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>            break;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>          }<a name="line.313"></a>
-<span class="sourceLineNo">314</span>          while ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.314"></a>
-<span class="sourceLineNo">315</span>              (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>              (lastStopRowInclusive == true || range.startRowInclusive==true))) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>            if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>              break;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>            }<a name="line.319"></a>
-<span class="sourceLineNo">320</span>            // if this first range contain second range, ignore the second range<a name="line.320"></a>
-<span class="sourceLineNo">321</span>            if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>              if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>                lastStopRowInclusive = true;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>              }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>              i++;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>              if (i &lt; ranges.size()) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>                range = ranges.get(i);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>                if (!range.isValid()) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>                  invalidRanges.add(range);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>                }<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              } else {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                break;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>              }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            } else {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>              lastStopRow = range.stopRow;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>              lastStopRowInclusive = range.stopRowInclusive;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>              i++;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>              if (i &lt; ranges.size()) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>                range = ranges.get(i);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>                if (!range.isValid()) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>                  invalidRanges.add(range);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>                }<a name="line.342"></a>
-<span class="sourceLineNo">343</span>              } else {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>                break;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>              }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>            }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          }<a name="line.347"></a>
-<span class="sourceLineNo">348</span>          if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>            if((Bytes.compareTo(lastStopRow, range.startRow) &lt; 0) ||<a name="line.349"></a>
-<span class="sourceLineNo">350</span>                (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>                lastStopRowInclusive == false &amp;&amp; range.startRowInclusive == false)) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.352"></a>
-<span class="sourceLineNo">353</span>                  lastStopRowInclusive));<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              newRanges.add(range);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            } else {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>                  range.stopRowInclusive));<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              break;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>            }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>          }<a name="line.360"></a>
-<span class="sourceLineNo">361</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.361"></a>
-<span class="sourceLineNo">362</span>              lastStopRowInclusive));<a name="line.362"></a>
-<span class="sourceLineNo">363</span>          if ((i + 1) == ranges.size()) {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>            newRanges.add(range);<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          }<a name="line.365"></a>
-<span class="sourceLineNo">366</span>          lastStartRow = range.startRow;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>          lastStartRowInclusive = range.startRowInclusive;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          lastStopRow = range.stopRow;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      } else {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.372"></a>
-<span class="sourceLineNo">373</span>            lastStopRowInclusive));<a name="line.373"></a>
-<span class="sourceLineNo">374</span>        if ((i + 1) == ranges.size()) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          newRanges.add(range);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>        }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>        lastStartRow = range.startRow;<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        lastStartRowInclusive = range.startRowInclusive;<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        lastStopRow = range.stopRow;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        lastStopRowInclusive = range.stopRowInclusive;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    // check the remaining ranges<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    for(int j=i; j &lt; ranges.size(); j++) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      if(!ranges.get(j).isValid()) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>        invalidRanges.add(ranges.get(j));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // if invalid range exists, throw the exception<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    if (invalidRanges.size() != 0) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      throwExceptionForInvalidRanges(invalidRanges, true);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // If no valid ranges found, throw the exception<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    if(newRanges.isEmpty()) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      throw new IllegalArgumentException("No valid ranges found.");<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    }<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return newRanges;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  private static void throwExceptionForInvalidRanges(List&lt;RowRange&gt; invalidRanges,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      boolean details) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    StringBuilder sb = new StringBuilder();<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    sb.append(invalidRanges.size()).append(" invaild ranges.\n");<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    if (details) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      for (RowRange range : invalidRanges) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        sb.append(<a name="line.406"></a>
-<span class="sourceLineNo">407</span>            "Invalid range: start row =&gt; " + Bytes.toString(range.startRow) + ", stop row =&gt; "<a name="line.407"></a>
-<span class="sourceLineNo">408</span>                + Bytes.toString(range.stopRow)).append('\n');<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      }<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    throw new IllegalArgumentException(sb.toString());<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  @InterfaceAudience.Public<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  @InterfaceStability.Evolving<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  public static class RowRange implements Comparable&lt;RowRange&gt; {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    private byte[] startRow;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    private boolean startRowInclusive = true;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    private byte[] stopRow;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    private boolean stopRowInclusive = false;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    private int isScan = 0;<a name="line.421"></a>
+<span class="sourceLineNo">119</span>        } else {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<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>    } else {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      currentReturnCode = ReturnCode.INCLUDE;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return false;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public ReturnCode filterKeyValue(Cell ignored) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    return currentReturnCode;<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>  @Override<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  public Cell getNextCellHint(Cell currentKV) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    // skip to the next range's start row<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    return CellUtil.createFirstOnRow(range.startRow, 0,<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        (short) range.startRow.length);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  }<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>   * @return The filter serialized using pb<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   */<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public byte[] toByteArray() {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        .newBuilder();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    for (RowRange range : rangeList) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      if (range != null) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        FilterProtos.RowRange.Builder rangebuilder = FilterProtos.RowRange.newBuilder();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        if (range.startRow != null)<a name="line.150"></a>
+<span class="sourceLineNo">151</span>          rangebuilder.setStartRow(UnsafeByteOperations.unsafeWrap(range.startRow));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        rangebuilder.setStartRowInclusive(range.startRowInclusive);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        if (range.stopRow != null)<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          rangebuilder.setStopRow(UnsafeByteOperations.unsafeWrap(range.stopRow));<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        rangebuilder.setStopRowInclusive(range.stopRowInclusive);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        builder.addRowRangeList(rangebuilder.build());<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>    return builder.build().toByteArray();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  }<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>   * @param pbBytes A pb serialized instance<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @return An instance of MultiRowRangeFilter<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static MultiRowRangeFilter parseFrom(final byte[] pbBytes)<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      throws DeserializationException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    FilterProtos.MultiRowRangeFilter proto;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    try {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      proto = FilterProtos.MultiRowRangeFilter.parseFrom(pbBytes);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    } catch (InvalidProtocolBufferException e) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      throw new DeserializationException(e);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    int length = proto.getRowRangeListCount();<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    List&lt;FilterProtos.RowRange&gt; rangeProtos = proto.getRowRangeListList();<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    List&lt;RowRange&gt; rangeList = new ArrayList&lt;&gt;(length);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    for (FilterProtos.RowRange rangeProto : rangeProtos) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      RowRange range = new RowRange(rangeProto.hasStartRow() ? rangeProto.getStartRow()<a name="line.179"></a>
+<span class="sourceLineNo">180</span>          .toByteArray() : null, rangeProto.getStartRowInclusive(), rangeProto.hasStopRow() ?<a name="line.180"></a>
+<span class="sourceLineNo">181</span>              rangeProto.getStopRow().toByteArray() : null, rangeProto.getStopRowInclusive());<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      rangeList.add(range);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    return new MultiRowRangeFilter(rangeList);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
+<span class="sourceLineNo">186</span><a name="line.186"></a>
+<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @param o the filter to compare<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   *         corresponding fields in other. Used for testing.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    if (o == this)<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      return true;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    if (!(o instanceof MultiRowRangeFilter))<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      return false;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>    MultiRowRangeFilter other = (MultiRowRangeFilter) o;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (this.rangeList.size() != other.rangeList.size())<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      return false;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    for (int i = 0; i &lt; rangeList.size(); ++i) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      RowRange thisRange = this.rangeList.get(i);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      RowRange otherRange = other.rangeList.get(i);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      if (!(Bytes.equals(thisRange.startRow, otherRange.startRow) &amp;&amp; Bytes.equals(<a name="line.204"></a>
+<span class="sourceLineNo">205</span>          thisRange.stopRow, otherRange.stopRow) &amp;&amp; (thisRange.startRowInclusive ==<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          otherRange.startRowInclusive) &amp;&amp; (thisRange.stopRowInclusive ==<a name="line.206"></a>
+<span class="sourceLineNo">207</span>          otherRange.stopRowInclusive))) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>        return false;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      }<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    }<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    return true;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  }<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>   * calculate the position where the row key in the ranges list.<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   *<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * @param rowKey the row key to calculate<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * @return index the position of the row key<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private int getNextRangeIndex(byte[] rowKey) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    RowRange temp = new RowRange(rowKey, true, null, true);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int index = Collections.binarySearch(rangeList, temp);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if (index &lt; 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      int insertionPosition = -index - 1;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      // check if the row key in the range before the insertion position<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      if (insertionPosition != 0 &amp;&amp; rangeList.get(insertionPosition - 1).contains(rowKey)) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>        return insertionPosition - 1;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      }<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      // check if the row key is before the first range<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      if (insertionPosition == 0 &amp;&amp; !rangeList.get(insertionPosition).contains(rowKey)) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        return ROW_BEFORE_FIRST_RANGE;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      if (!initialized) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>        initialized = true;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      return insertionPosition;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    // the row key equals one of the start keys, and the the range exclude the start key<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    if(rangeList.get(index).startRowInclusive == false) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      EXCLUSIVE = true;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    return index;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
+<span class="sourceLineNo">244</span><a name="line.244"></a>
+<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * sort the ranges and if the ranges with overlap, then merge them.<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   *<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * @param ranges the list of ranges to sort and merge.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * @return the ranges after sort and merge.<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   */<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  public static List&lt;RowRange&gt; sortAndMerge(List&lt;RowRange&gt; ranges) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    if (ranges.isEmpty()) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      throw new IllegalArgumentException("No ranges found.");<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    List&lt;RowRange&gt; invalidRanges = new ArrayList&lt;&gt;();<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    List&lt;RowRange&gt; newRanges = new ArrayList&lt;&gt;(ranges.size());<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    Collections.sort(ranges);<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    if(ranges.get(0).isValid()) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      if (ranges.size() == 1) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        newRanges.add(ranges.get(0));<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    } else {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      invalidRanges.add(ranges.get(0));<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>    byte[] lastStartRow = ranges.get(0).startRow;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    boolean lastStartRowInclusive = ranges.get(0).startRowInclusive;<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    byte[] lastStopRow = ranges.get(0).stopRow;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    boolean lastStopRowInclusive = ranges.get(0).stopRowInclusive;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    int i = 1;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    for (; i &lt; ranges.size(); i++) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      RowRange range = ranges.get(i);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      if (!range.isValid()) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        invalidRanges.add(range);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      if(Bytes.equals(lastStopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.277"></a>
+<span class="sourceLineNo">278</span>            lastStopRowInclusive));<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>      // with overlap in the ranges<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      if ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp; !(lastStopRowInclusive == false &amp;&amp;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>          range.isStartRowInclusive() == false))) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.286"></a>
+<span class="sourceLineNo">287</span>              range.stopRowInclusive));<a name="line.287"></a>
+<span class="sourceLineNo">288</span>          break;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        }<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        // if first range contains second range, ignore the second range<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          if((Bytes.compareTo(lastStopRow, range.stopRow) == 0)) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>            if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>              lastStopRowInclusive = true;<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>          if ((i + 1) == ranges.size()) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.298"></a>
+<span class="sourceLineNo">299</span>                lastStopRowInclusive));<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        } else {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>          lastStopRow = range.stopRow;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>          if ((i + 1) &lt; ranges.size()) {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>            i++;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>            range = ranges.get(i);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>            if (!range.isValid()) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>              invalidRanges.add(range);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>            }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          } else {<a name="line.310"></a>
+<span class="sourceLineNo">311</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.311"></a>
+<span class="sourceLineNo">312</span>                lastStopRowInclusive));<a name="line.312"></a>
+<span class="sourceLineNo">313</span>            break;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          }<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          while ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.315"></a>
+<span class="sourceLineNo">316</span>              (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>              (lastStopRowInclusive == true || range.startRowInclusive==true))) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>            if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>              break;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>            }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>            // if this first range contain second range, ignore the second range<a name="line.321"></a>
+<span class="sourceLineNo">322</span>            if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>              if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>                lastStopRowInclusive = true;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>              i++;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>              if (i &lt; ranges.size()) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>                range = ranges.get(i);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>                if (!range.isValid()) {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>                  invalidRanges.add(range);<a name="line.330"></a>
+<span class="sourceLineNo">331</span>                }<a name="line.331"></a>
+<span class="sourceLineNo">332</span>              } else {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>                break;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>              }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>            } else {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>              lastStopRow = range.stopRow;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>              lastStopRowInclusive = range.stopRowInclusive;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>              i++;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>              if (i &lt; ranges.size()) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>                range = ranges.get(i);<a name="line.340"></a>
+<span class="sourceLineNo">341</span>                if (!range.isValid()) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>                  invalidRanges.add(range);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>                }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>              } else {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>                break;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>              }<a name="line.346"></a>
+<span class="sourceLineNo">347</span>            }<a name="line.347"></a>
+<span class="sourceLineNo">348</span>          }<a name="line.348"></a>
+<span class="sourceLineNo">349</span>          if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>            if((Bytes.compareTo(lastStopRow, range.startRow) &lt; 0) ||<a name="line.350"></a>
+<span class="sourceLineNo">351</span>                (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.351"></a>
+<span class="sourceLineNo">352</span>                lastStopRowInclusive == false &amp;&amp; range.startRowInclusive == false)) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.353"></a>
+<span class="sourceLineNo">354</span>                  lastStopRowInclusive));<a name="line.354"></a>
+<span class="sourceLineNo">355</span>              newRanges.add(range);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>            } else {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.357"></a>
+<span class="sourceLineNo">358</span>                  range.stopRowInclusive));<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>          }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.362"></a>
+<span class="sourceLineNo">363</span>              lastStopRowInclusive));<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          if ((i + 1) == ranges.size()) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>            newRanges.add(range);<a name="line.365"></a>
+<span class="sourceLineNo">366</span>          }<a name="line.366"></a>
+<span class="sourceLineNo">367</span>          lastStartRow = range.startRow;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>          lastStartRowInclusive = range.startRowInclusive;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>          lastStopRow = range.stopRow;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        }<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      } else {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.373"></a>
+<span class="sourceLineNo">374</span>            lastStopRowInclusive));<a name="line.374"></a>
+<span class="sourceLineNo">375</span>        if ((i + 1) == ranges.size()) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          newRanges.add(range);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        }<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        lastStartRow = range.startRow;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>        lastStartRowInclusive = range.startRowInclusive;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        lastStopRow = range.stopRow;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        lastStopRowInclusive = range.stopRowInclusive;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // check the remaining ranges<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    for(int j=i; j &lt; ranges.size(); j++) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      if(!ranges.get(j).isValid()) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>        invalidRanges.add(ranges.get(j));<a name="line.387"></a>
+<span class="sourceLineNo">388</span>      }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    // if invalid range exists, throw the exception<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    if (invalidRanges.size() != 0) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      throwExceptionForInvalidRanges(invalidRanges, true);<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    // If no valid ranges found, throw the exception<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    if(newRanges.isEmpty()) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      throw new IllegalArgumentException("No valid ranges found.");<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    return newRanges;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  private static void throwExceptionForInvalidRanges(List&lt;RowRange&gt; invalidRanges,<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      boolean details) {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    StringBuilder sb = new StringBuilder();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    sb.append(invalidRanges.size()).append(" invaild ranges.\n");<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    if (details) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>      for (RowRange range : invalidRanges) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        sb.append(<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            "Invalid range: start row =&gt; " + Bytes.toString(range.startRow) + ", stop row =&gt; "<a name="line.408"></a>
+<span class="sourceLineNo">409</span>                + Bytes.toString(range.stopRow)).append('\n');<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    throw new IllegalArgumentException(sb.toString());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
+<span class="sourceLineNo">414</span><a name="line.414"></a>
+<span class="sourceLineNo">415</span>  @InterfaceAudience.Public<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  @InterfaceStability.Evolving<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  public static class RowRange implements Comparable&lt;RowRange&gt; {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    private byte[] startRow;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    private boolean startRowInclusive = true;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    private byte[] stopRow;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    private boolean stopRowInclusive = false;<a name="line.421"></a>
 <span class="sourceLineNo">422</span><a name="line.422"></a>
 <span class="sourceLineNo">423</span>    public RowRange() {<a name="line.423"></a>
 <span class="sourceLineNo">424</span>    }<a name="line.424"></a>
@@ -449,74 +449,73 @@
 <span class="sourceLineNo">441</span>      this.startRowInclusive = startRowInclusive;<a name="line.441"></a>
 <span class="sourceLineNo">442</span>      this.stopRow = (stopRow == null) ? HConstants.EMPTY_BYTE_ARRAY :stopRow;<a name="line.442"></a>
 <span class="sourceLineNo">443</span>      this.stopRowInclusive = stopRowInclusive;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      isScan = Bytes.equals(startRow, stopRow) ? 1 : 0;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>    public byte[] getStartRow() {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      return startRow;<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>    public byte[] getStopRow() {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      return stopRow;<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>    /**<a name="line.455"></a>
-<span class="sourceLineNo">456</span>     * @return if start row is inclusive.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     */<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    public boolean isStartRowInclusive() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      return startRowInclusive;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>    /**<a name="line.462"></a>
-<span class="sourceLineNo">463</span>     * @return if stop row is inclusive.<a name="line.463"></a>
-<span class="sourceLineNo">464</span>     */<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    public boolean isStopRowInclusive() {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      return stopRowInclusive;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    }<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>    public boolean contains(byte[] row) {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      return contains(row, 0, row.length);<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>    public boolean contains(byte[] buffer, int offset, int length) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      if(startRowInclusive) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>        if(stopRowInclusive) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.476"></a>
-<span class="sourceLineNo">477</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.477"></a>
-<span class="sourceLineNo">478</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= isScan);<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        } else {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.480"></a>
-<span class="sourceLineNo">481</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.481"></a>
-<span class="sourceLineNo">482</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; isScan);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>        }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      } else {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>        if(stopRowInclusive) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.486"></a>
-<span class="sourceLineNo">487</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.487"></a>
-<span class="sourceLineNo">488</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= isScan);<a name="line.488"></a>
-<span class="sourceLineNo">489</span>        } else {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.490"></a>
-<span class="sourceLineNo">491</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.491"></a>
-<span class="sourceLineNo">492</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; isScan);<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        }<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      }<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span><a name="line.496"></a>
-<span class="sourceLineNo">497</span>    @Override<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="EQ_COMPARETO_USE_OBJECT_EQUALS",<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      justification="This compareTo is not of this Object, but of referenced RowRange")<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    public int compareTo(RowRange other) {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      return Bytes.compareTo(this.startRow, other.startRow);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    }<a name="line.502"></a>
-<span class="sourceLineNo">503</span><a name="line.503"></a>
-<span class="sourceLineNo">504</span>    public boolean isValid() {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      return Bytes.equals(startRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.505"></a>
-<span class="sourceLineNo">506</span>          || Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.506"></a>
-<span class="sourceLineNo">507</span>          || Bytes.compareTo(startRow, stopRow) &lt; 0<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          || (Bytes.compareTo(startRow, stopRow) == 0 &amp;&amp; stopRowInclusive == true);<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>  }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>}<a name="line.511"></a>
+<span class="sourceLineNo">444</span>    }<a name="line.444"></a>
+<span class="sourceLineNo">445</span><a name="line.445"></a>
+<span class="sourceLineNo">446</span>    public byte[] getStartRow() {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      return startRow;<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    }<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span>    public byte[] getStopRow() {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      return stopRow;<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>    /**<a name="line.454"></a>
+<span class="sourceLineNo">455</span>     * @return if start row is inclusive.<a name="line.455"></a>
+<span class="sourceLineNo">456</span>     */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public boolean isStartRowInclusive() {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      return startRowInclusive;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>    /**<a name="line.461"></a>
+<span class="sourceLineNo">462</span>     * @return if stop row is inclusive.<a name="line.462"></a>
+<span class="sourceLineNo">463</span>     */<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    public boolean isStopRowInclusive() {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      return stopRowInclusive;<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    }<a name="line.466"></a>
+<span class="sourceLineNo">467</span><a name="line.467"></a>
+<span class="sourceLineNo">468</span>    public boolean contains(byte[] row) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      return contains(row, 0, row.length);<a name="line.469"></a>
+<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
+<span class="sourceLineNo">471</span><a name="line.471"></a>
+<span class="sourceLineNo">472</span>    public boolean contains(byte[] buffer, int offset, int length) {<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      if(startRowInclusive) {<a name="line.473"></a>
+<span class="sourceLineNo">474</span>        if(stopRowInclusive) {<a name="line.474"></a>
+<span class="sourceLineNo">475</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.475"></a>
+<span class="sourceLineNo">476</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.476"></a>
+<span class="sourceLineNo">477</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= 0);<a name="line.477"></a>
+<span class="sourceLineNo">478</span>        } else {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.479"></a>
+<span class="sourceLineNo">480</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.480"></a>
+<span class="sourceLineNo">481</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; 0);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>        }<a name="line.482"></a>
+<span class="sourceLineNo">483</span>      } else {<a name="line.483"></a>
+<span class="sourceLineNo">484</span>        if(stopRowInclusive) {<a name="line.484"></a>
+<span class="sourceLineNo">485</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.485"></a>
+<span class="sourceLineNo">486</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.486"></a>
+<span class="sourceLineNo">487</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= 0);<a name="line.487"></a>
+<span class="sourceLineNo">488</span>        } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.489"></a>
+<span class="sourceLineNo">490</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.490"></a>
+<span class="sourceLineNo">491</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; 0);<a name="line.491"></a>
+<span class="sourceLineNo">492</span>        }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      }<a name="line.493"></a>
+<span class="sourceLineNo">494</span>    }<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>    @Override<a name="line.496"></a>
+<span class="sourceLineNo">497</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="EQ_COMPARETO_USE_OBJECT_EQUALS",<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      justification="This compareTo is not of this Object, but of referenced RowRange")<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    public int compareTo(RowRange other) {<a name="line.499"></a>
+<span class="sourceLineNo">500</span>      return Bytes.compareTo(this.startRow, other.startRow);<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    }<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    public boolean isValid() {<a name="line.503"></a>
+<span class="sourceLineNo">504</span>      return Bytes.equals(startRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.504"></a>
+<span class="sourceLineNo">505</span>          || Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.505"></a>
+<span class="sourceLineNo">506</span>          || Bytes.compareTo(startRow, stopRow) &lt; 0<a name="line.506"></a>
+<span class="sourceLineNo">507</span>          || (Bytes.compareTo(startRow, stopRow) == 0 &amp;&amp; stopRowInclusive == true);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span>  }<a name="line.509"></a>
+<span class="sourceLineNo">510</span>}<a name="line.510"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
index 4cb4490..31c3043 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
@@ -172,7 +172,7 @@
 <span class="sourceLineNo">164</span>  }<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
 <span class="sourceLineNo">166</span>  public TreeSet&lt;byte []&gt; createTreeSet() {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    return new TreeSet&lt;byte []&gt;(new Comparator&lt;Object&gt;() {<a name="line.167"></a>
+<span class="sourceLineNo">167</span>    return new TreeSet&lt;&gt;(new Comparator&lt;Object&gt;() {<a name="line.167"></a>
 <span class="sourceLineNo">168</span>        @Override<a name="line.168"></a>
 <span class="sourceLineNo">169</span>          public int compare (Object o1, Object o2) {<a name="line.169"></a>
 <span class="sourceLineNo">170</span>          if (o1 == null || o2 == null)<a name="line.170"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/ParseFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/ParseFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/ParseFilter.html
index 834129e..0bf5f12 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/ParseFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/ParseFilter.html
@@ -64,7 +64,7 @@
 <span class="sourceLineNo">056</span><a name="line.56"></a>
 <span class="sourceLineNo">057</span>  static {<a name="line.57"></a>
 <span class="sourceLineNo">058</span>    // Registers all the filter supported by the Filter Language<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    filterHashMap = new HashMap&lt;String, String&gt;();<a name="line.59"></a>
+<span class="sourceLineNo">059</span>    filterHashMap = new HashMap&lt;&gt;();<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    filterHashMap.put("KeyOnlyFilter", ParseConstants.FILTER_PACKAGE + "." +<a name="line.60"></a>
 <span class="sourceLineNo">061</span>                      "KeyOnlyFilter");<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    filterHashMap.put("FirstKeyOnlyFilter", ParseConstants.FILTER_PACKAGE + "." +<a name="line.62"></a>
@@ -103,7 +103,7 @@
 <span class="sourceLineNo">095</span>                      "DependentColumnFilter");<a name="line.95"></a>
 <span class="sourceLineNo">096</span><a name="line.96"></a>
 <span class="sourceLineNo">097</span>    // Creates the operatorPrecedenceHashMap<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    operatorPrecedenceHashMap = new HashMap&lt;ByteBuffer, Integer&gt;();<a name="line.98"></a>
+<span class="sourceLineNo">098</span>    operatorPrecedenceHashMap = new HashMap&lt;&gt;();<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    operatorPrecedenceHashMap.put(ParseConstants.SKIP_BUFFER, 1);<a name="line.99"></a>
 <span class="sourceLineNo">100</span>    operatorPrecedenceHashMap.put(ParseConstants.WHILE_BUFFER, 1);<a name="line.100"></a>
 <span class="sourceLineNo">101</span>    operatorPrecedenceHashMap.put(ParseConstants.AND_BUFFER, 2);<a name="line.101"></a>
@@ -130,9 +130,9 @@
 <span class="sourceLineNo">122</span>  public Filter parseFilterString (byte [] filterStringAsByteArray)<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    throws CharacterCodingException {<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    // stack for the operators and parenthesis<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    Stack &lt;ByteBuffer&gt; operatorStack = new Stack&lt;ByteBuffer&gt;();<a name="line.125"></a>
+<span class="sourceLineNo">125</span>    Stack &lt;ByteBuffer&gt; operatorStack = new Stack&lt;&gt;();<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    // stack for the filter objects<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    Stack &lt;Filter&gt; filterStack = new Stack&lt;Filter&gt;();<a name="line.127"></a>
+<span class="sourceLineNo">127</span>    Stack &lt;Filter&gt; filterStack = new Stack&lt;&gt;();<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
 <span class="sourceLineNo">129</span>    Filter filter = null;<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    for (int i=0; i&lt;filterStringAsByteArray.length; i++) {<a name="line.130"></a>
@@ -317,7 +317,7 @@
 <span class="sourceLineNo">309</span><a name="line.309"></a>
 <span class="sourceLineNo">310</span>    int argumentStartIndex = 0;<a name="line.310"></a>
 <span class="sourceLineNo">311</span>    int argumentEndIndex = 0;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    ArrayList&lt;byte []&gt; filterArguments = new ArrayList&lt;byte []&gt;();<a name="line.312"></a>
+<span class="sourceLineNo">312</span>    ArrayList&lt;byte []&gt; filterArguments = new ArrayList&lt;&gt;();<a name="line.312"></a>
 <span class="sourceLineNo">313</span><a name="line.313"></a>
 <span class="sourceLineNo">314</span>    for (int i = argumentListStartIndex + 1; i&lt;filterStringAsByteArray.length; i++) {<a name="line.314"></a>
 <span class="sourceLineNo">315</span><a name="line.315"></a>
@@ -401,7 +401,7 @@
 <span class="sourceLineNo">393</span>    if (argumentOnTopOfStack.equals(ParseConstants.OR_BUFFER)) {<a name="line.393"></a>
 <span class="sourceLineNo">394</span>      // The top of the stack is an OR<a name="line.394"></a>
 <span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>        ArrayList&lt;Filter&gt; listOfFilters = new ArrayList&lt;Filter&gt;();<a name="line.396"></a>
+<span class="sourceLineNo">396</span>        ArrayList&lt;Filter&gt; listOfFilters = new ArrayList&lt;&gt;();<a name="line.396"></a>
 <span class="sourceLineNo">397</span>        while (!operatorStack.empty() &amp;&amp; operatorStack.peek().equals(ParseConstants.OR_BUFFER)) {<a name="line.397"></a>
 <span class="sourceLineNo">398</span>          Filter filter = filterStack.pop();<a name="line.398"></a>
 <span class="sourceLineNo">399</span>          listOfFilters.add(0, filter);<a name="line.399"></a>
@@ -418,7 +418,7 @@
 <span class="sourceLineNo">410</span>    } else if (argumentOnTopOfStack.equals(ParseConstants.AND_BUFFER)) {<a name="line.410"></a>
 <span class="sourceLineNo">411</span>      // The top of the stack is an AND<a name="line.411"></a>
 <span class="sourceLineNo">412</span>      try {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        ArrayList&lt;Filter&gt; listOfFilters = new ArrayList&lt;Filter&gt;();<a name="line.413"></a>
+<span class="sourceLineNo">413</span>        ArrayList&lt;Filter&gt; listOfFilters = new ArrayList&lt;&gt;();<a name="line.413"></a>
 <span class="sourceLineNo">414</span>        while (!operatorStack.empty() &amp;&amp; operatorStack.peek().equals(ParseConstants.AND_BUFFER)) {<a name="line.414"></a>
 <span class="sourceLineNo">415</span>          Filter filter = filterStack.pop();<a name="line.415"></a>
 <span class="sourceLineNo">416</span>          listOfFilters.add(0, filter);<a name="line.416"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html
index fa99228..1c1be8f 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html
@@ -85,7 +85,7 @@
 <span class="sourceLineNo">077</span>      Preconditions.checkArgument(timestamp &gt;= 0, "must be positive %s", timestamp);<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
 <span class="sourceLineNo">079</span>    this.canHint = canHint;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    this.timestamps = new TreeSet&lt;Long&gt;(timestamps);<a name="line.80"></a>
+<span class="sourceLineNo">080</span>    this.timestamps = new TreeSet&lt;&gt;(timestamps);<a name="line.80"></a>
 <span class="sourceLineNo">081</span>    init();<a name="line.81"></a>
 <span class="sourceLineNo">082</span>  }<a name="line.82"></a>
 <span class="sourceLineNo">083</span><a name="line.83"></a>
@@ -93,7 +93,7 @@
 <span class="sourceLineNo">085</span>   * @return the list of timestamps<a name="line.85"></a>
 <span class="sourceLineNo">086</span>   */<a name="line.86"></a>
 <span class="sourceLineNo">087</span>  public List&lt;Long&gt; getTimestamps() {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    List&lt;Long&gt; list = new ArrayList&lt;Long&gt;(timestamps.size());<a name="line.88"></a>
+<span class="sourceLineNo">088</span>    List&lt;Long&gt; list = new ArrayList&lt;&gt;(timestamps.size());<a name="line.88"></a>
 <span class="sourceLineNo">089</span>    list.addAll(timestamps);<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    return list;<a name="line.90"></a>
 <span class="sourceLineNo">091</span>  }<a name="line.91"></a>
@@ -165,7 +165,7 @@
 <span class="sourceLineNo">157</span>  }<a name="line.157"></a>
 <span class="sourceLineNo">158</span><a name="line.158"></a>
 <span class="sourceLineNo">159</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    ArrayList&lt;Long&gt; timestamps = new ArrayList&lt;Long&gt;(filterArguments.size());<a name="line.160"></a>
+<span class="sourceLineNo">160</span>    ArrayList&lt;Long&gt; timestamps = new ArrayList&lt;&gt;(filterArguments.size());<a name="line.160"></a>
 <span class="sourceLineNo">161</span>    for (int i = 0; i&lt;filterArguments.size(); i++) {<a name="line.161"></a>
 <span class="sourceLineNo">162</span>      long timestamp = ParseFilter.convertByteArrayToLong(filterArguments.get(i));<a name="line.162"></a>
 <span class="sourceLineNo">163</span>      timestamps.add(timestamp);<a name="line.163"></a>


[17/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html b/apidocs/src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html
index 7f2ddf1..c6e88dd 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html
@@ -27,33 +27,42 @@
 <span class="sourceLineNo">019</span><a name="line.19"></a>
 <span class="sourceLineNo">020</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>/**<a name="line.23"></a>
-<span class="sourceLineNo">024</span> * Receives {@link Result} for an asynchronous scan.<a name="line.24"></a>
-<span class="sourceLineNo">025</span> */<a name="line.25"></a>
-<span class="sourceLineNo">026</span>@InterfaceAudience.Public<a name="line.26"></a>
-<span class="sourceLineNo">027</span>@InterfaceStability.Unstable<a name="line.27"></a>
-<span class="sourceLineNo">028</span>public interface ScanResultConsumer {<a name="line.28"></a>
-<span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>  /**<a name="line.30"></a>
-<span class="sourceLineNo">031</span>   * @param result the data fetched from HBase service.<a name="line.31"></a>
-<span class="sourceLineNo">032</span>   * @return {@code false} if you want to terminate the scan process. Otherwise {@code true}<a name="line.32"></a>
-<span class="sourceLineNo">033</span>   */<a name="line.33"></a>
-<span class="sourceLineNo">034</span>  boolean onNext(Result result);<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>   * Indicate that we hit an unrecoverable error and the scan operation is terminated.<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   * &lt;p&gt;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>   * We will not call {@link #onComplete()} after calling {@link #onError(Throwable)}.<a name="line.39"></a>
-<span class="sourceLineNo">040</span>   */<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  void onError(Throwable error);<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  /**<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   * Indicate that the scan operation is completed normally.<a name="line.44"></a>
-<span class="sourceLineNo">045</span>   */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  void onComplete();<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>}<a name="line.48"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.client.metrics.ScanMetrics;<a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span>/**<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * Receives {@link Result} for an asynchronous scan.<a name="line.25"></a>
+<span class="sourceLineNo">026</span> */<a name="line.26"></a>
+<span class="sourceLineNo">027</span>@InterfaceAudience.Public<a name="line.27"></a>
+<span class="sourceLineNo">028</span>@InterfaceStability.Unstable<a name="line.28"></a>
+<span class="sourceLineNo">029</span>public interface ScanResultConsumer {<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>  /**<a name="line.31"></a>
+<span class="sourceLineNo">032</span>   * @param result the data fetched from HBase service.<a name="line.32"></a>
+<span class="sourceLineNo">033</span>   * @return {@code false} if you want to terminate the scan process. Otherwise {@code true}<a name="line.33"></a>
+<span class="sourceLineNo">034</span>   */<a name="line.34"></a>
+<span class="sourceLineNo">035</span>  boolean onNext(Result result);<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>   * Indicate that we hit an unrecoverable error and the scan operation is terminated.<a name="line.38"></a>
+<span class="sourceLineNo">039</span>   * &lt;p&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>   * We will not call {@link #onComplete()} after calling {@link #onError(Throwable)}.<a name="line.40"></a>
+<span class="sourceLineNo">041</span>   */<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  void onError(Throwable error);<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  /**<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   * Indicate that the scan operation is completed normally.<a name="line.45"></a>
+<span class="sourceLineNo">046</span>   */<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  void onComplete();<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>  /**<a name="line.49"></a>
+<span class="sourceLineNo">050</span>   * If {@code scan.isScanMetricsEnabled()} returns true, then this method will be called prior to<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   * all other methods in this interface to give you the {@link ScanMetrics} instance for this scan<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   * operation. The {@link ScanMetrics} instance will be updated on-the-fly during the scan, you can<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * store it somewhere to get the metrics at any time if you want.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  default void onScanMetricsCreated(ScanMetrics scanMetrics) {<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/TableSnapshotScanner.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/TableSnapshotScanner.html b/apidocs/src-html/org/apache/hadoop/hbase/client/TableSnapshotScanner.html
index f4ced21..11f3dbd 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/TableSnapshotScanner.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/TableSnapshotScanner.html
@@ -135,7 +135,7 @@
 <span class="sourceLineNo">127</span>    final List&lt;HRegionInfo&gt; restoredRegions = meta.getRegionsToAdd();<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
 <span class="sourceLineNo">129</span>    htd = meta.getTableDescriptor();<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    regions = new ArrayList&lt;HRegionInfo&gt;(restoredRegions.size());<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    regions = new ArrayList&lt;&gt;(restoredRegions.size());<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    for (HRegionInfo hri: restoredRegions) {<a name="line.131"></a>
 <span class="sourceLineNo">132</span>      if (CellUtil.overlappingKeys(scan.getStartRow(), scan.getStopRow(),<a name="line.132"></a>
 <span class="sourceLineNo">133</span>          hri.getStartKey(), hri.getEndKey())) {<a name="line.133"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html b/apidocs/src-html/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html
index b2f1221..b9503b7 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html
@@ -26,49 +26,49 @@
 <span class="sourceLineNo">018</span> */<a name="line.18"></a>
 <span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.client.replication;<a name="line.19"></a>
 <span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import com.google.common.annotations.VisibleForTesting;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import com.google.common.collect.Lists;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.Closeable;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.ArrayList;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.Collection;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.HashMap;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.HashSet;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.TreeMap;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Map.Entry;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Set;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.commons.logging.Log;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.commons.logging.LogFactory;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.conf.Configuration;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.Abortable;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HConstants;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.TableName;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.Admin;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.HBaseAdmin;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.replication.ReplicationFactory;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.replication.ReplicationPeer;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.replication.ReplicationPeerZKImpl;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.replication.ReplicationPeers;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.replication.ReplicationQueuesClient;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.replication.ReplicationQueuesClientArguments;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.63"></a>
+<span class="sourceLineNo">021</span>import java.io.Closeable;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Collection;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.HashMap;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.HashSet;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.Map;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Map.Entry;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Set;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.TreeMap;<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.commons.logging.Log;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.commons.logging.LogFactory;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.conf.Configuration;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.Abortable;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.HConstants;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.TableName;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Admin;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.HBaseAdmin;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.replication.ReplicationFactory;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.replication.ReplicationPeer;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.replication.ReplicationPeerZKImpl;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.replication.ReplicationPeers;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.replication.ReplicationQueuesClient;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.replication.ReplicationQueuesClientArguments;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>import com.google.common.annotations.VisibleForTesting;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import com.google.common.collect.Lists;<a name="line.63"></a>
 <span class="sourceLineNo">064</span><a name="line.64"></a>
 <span class="sourceLineNo">065</span>/**<a name="line.65"></a>
 <span class="sourceLineNo">066</span> * &lt;p&gt;<a name="line.66"></a>
@@ -281,7 +281,7 @@
 <span class="sourceLineNo">273</span>  @Deprecated<a name="line.273"></a>
 <span class="sourceLineNo">274</span>  public Map&lt;String, ReplicationPeerConfig&gt; listPeerConfigs() throws IOException {<a name="line.274"></a>
 <span class="sourceLineNo">275</span>    List&lt;ReplicationPeerDescription&gt; peers = this.admin.listReplicationPeers();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    Map&lt;String, ReplicationPeerConfig&gt; result = new TreeMap&lt;String, ReplicationPeerConfig&gt;();<a name="line.276"></a>
+<span class="sourceLineNo">276</span>    Map&lt;String, ReplicationPeerConfig&gt; result = new TreeMap&lt;&gt;();<a name="line.276"></a>
 <span class="sourceLineNo">277</span>    for (ReplicationPeerDescription peer : peers) {<a name="line.277"></a>
 <span class="sourceLineNo">278</span>      result.put(peer.getPeerId(), peer.getPeerConfig());<a name="line.278"></a>
 <span class="sourceLineNo">279</span>    }<a name="line.279"></a>
@@ -351,7 +351,7 @@
 <span class="sourceLineNo">343</span>        if (cfs == null || appendCfs == null || appendCfs.isEmpty()) {<a name="line.343"></a>
 <span class="sourceLineNo">344</span>          preTableCfs.put(table, null);<a name="line.344"></a>
 <span class="sourceLineNo">345</span>        } else {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          Set&lt;String&gt; cfSet = new HashSet&lt;String&gt;(cfs);<a name="line.346"></a>
+<span class="sourceLineNo">346</span>          Set&lt;String&gt; cfSet = new HashSet&lt;&gt;(cfs);<a name="line.346"></a>
 <span class="sourceLineNo">347</span>          cfSet.addAll(appendCfs);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>          preTableCfs.put(table, Lists.newArrayList(cfSet));<a name="line.348"></a>
 <span class="sourceLineNo">349</span>        }<a name="line.349"></a>
@@ -408,7 +408,7 @@
 <span class="sourceLineNo">400</span>        if (cfs == null &amp;&amp; (removeCfs == null || removeCfs.isEmpty())) {<a name="line.400"></a>
 <span class="sourceLineNo">401</span>          preTableCfs.remove(table);<a name="line.401"></a>
 <span class="sourceLineNo">402</span>        } else if (cfs != null &amp;&amp; (removeCfs != null &amp;&amp; !removeCfs.isEmpty())) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>          Set&lt;String&gt; cfSet = new HashSet&lt;String&gt;(cfs);<a name="line.403"></a>
+<span class="sourceLineNo">403</span>          Set&lt;String&gt; cfSet = new HashSet&lt;&gt;(cfs);<a name="line.403"></a>
 <span class="sourceLineNo">404</span>          cfSet.removeAll(removeCfs);<a name="line.404"></a>
 <span class="sourceLineNo">405</span>          if (cfSet.isEmpty()) {<a name="line.405"></a>
 <span class="sourceLineNo">406</span>            preTableCfs.remove(table);<a name="line.406"></a>
@@ -492,7 +492,7 @@
 <span class="sourceLineNo">484</span>        tableCFs.getColumnFamilyMap()<a name="line.484"></a>
 <span class="sourceLineNo">485</span>            .forEach(<a name="line.485"></a>
 <span class="sourceLineNo">486</span>              (cf, scope) -&gt; {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>                HashMap&lt;String, String&gt; replicationEntry = new HashMap&lt;String, String&gt;();<a name="line.487"></a>
+<span class="sourceLineNo">487</span>                HashMap&lt;String, String&gt; replicationEntry = new HashMap&lt;&gt;();<a name="line.487"></a>
 <span class="sourceLineNo">488</span>                replicationEntry.put(TNAME, table);<a name="line.488"></a>
 <span class="sourceLineNo">489</span>                replicationEntry.put(CFNAME, cf);<a name="line.489"></a>
 <span class="sourceLineNo">490</span>                replicationEntry.put(REPLICATIONTYPE,<a name="line.490"></a>
@@ -529,66 +529,71 @@
 <span class="sourceLineNo">521</span>  }<a name="line.521"></a>
 <span class="sourceLineNo">522</span><a name="line.522"></a>
 <span class="sourceLineNo">523</span>  @VisibleForTesting<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  public void peerAdded(String id) throws ReplicationException {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    this.replicationPeers.peerConnected(id);<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>  @VisibleForTesting<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  List&lt;ReplicationPeer&gt; listReplicationPeers() throws IOException {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    Map&lt;String, ReplicationPeerConfig&gt; peers = listPeerConfigs();<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    if (peers == null || peers.size() &lt;= 0) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      return null;<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    }<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    List&lt;ReplicationPeer&gt; listOfPeers = new ArrayList&lt;ReplicationPeer&gt;(peers.size());<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    for (Entry&lt;String, ReplicationPeerConfig&gt; peerEntry : peers.entrySet()) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      String peerId = peerEntry.getKey();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      try {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        Pair&lt;ReplicationPeerConfig, Configuration&gt; pair = this.replicationPeers.getPeerConf(peerId);<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        Configuration peerConf = pair.getSecond();<a name="line.539"></a>
-<span class="sourceLineNo">540</span>        ReplicationPeer peer = new ReplicationPeerZKImpl(zkw, pair.getSecond(),<a name="line.540"></a>
-<span class="sourceLineNo">541</span>          peerId, pair.getFirst(), this.connection);<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        listOfPeers.add(peer);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } catch (ReplicationException e) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        LOG.warn("Failed to get valid replication peers. "<a name="line.544"></a>
-<span class="sourceLineNo">545</span>            + "Error connecting to peer cluster with peerId=" + peerId + ". Error message="<a name="line.545"></a>
-<span class="sourceLineNo">546</span>            + e.getMessage());<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        LOG.debug("Failure details to get valid replication peers.", e);<a name="line.547"></a>
-<span class="sourceLineNo">548</span>        continue;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    return listOfPeers;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>  }<a name="line.552"></a>
-<span class="sourceLineNo">553</span><a name="line.553"></a>
-<span class="sourceLineNo">554</span>  /**<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * Set a namespace in the peer config means that all tables in this namespace<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * will be replicated to the peer cluster.<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * 1. If you already have set a namespace in the peer config, then you can't set any table<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   *    of this namespace to the peer config.<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * 2. If you already have set a table in the peer config, then you can't set this table's<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   *    namespace to the peer config.<a name="line.561"></a>
+<span class="sourceLineNo">524</span>  @Deprecated<a name="line.524"></a>
+<span class="sourceLineNo">525</span>  public void peerAdded(String id) throws ReplicationException {<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    this.replicationPeers.peerConnected(id);<a name="line.526"></a>
+<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * @deprecated use {@link org.apache.hadoop.hbase.client.Admin#listReplicationPeers()} instead<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   */<a name="line.531"></a>
+<span class="sourceLineNo">532</span>  @VisibleForTesting<a name="line.532"></a>
+<span class="sourceLineNo">533</span>  @Deprecated<a name="line.533"></a>
+<span class="sourceLineNo">534</span>  List&lt;ReplicationPeer&gt; listReplicationPeers() throws IOException {<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    Map&lt;String, ReplicationPeerConfig&gt; peers = listPeerConfigs();<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    if (peers == null || peers.size() &lt;= 0) {<a name="line.536"></a>
+<span class="sourceLineNo">537</span>      return null;<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    List&lt;ReplicationPeer&gt; listOfPeers = new ArrayList&lt;&gt;(peers.size());<a name="line.539"></a>
+<span class="sourceLineNo">540</span>    for (Entry&lt;String, ReplicationPeerConfig&gt; peerEntry : peers.entrySet()) {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      String peerId = peerEntry.getKey();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>      try {<a name="line.542"></a>
+<span class="sourceLineNo">543</span>        Pair&lt;ReplicationPeerConfig, Configuration&gt; pair = this.replicationPeers.getPeerConf(peerId);<a name="line.543"></a>
+<span class="sourceLineNo">544</span>        Configuration peerConf = pair.getSecond();<a name="line.544"></a>
+<span class="sourceLineNo">545</span>        ReplicationPeer peer = new ReplicationPeerZKImpl(zkw, pair.getSecond(),<a name="line.545"></a>
+<span class="sourceLineNo">546</span>          peerId, pair.getFirst(), this.connection);<a name="line.546"></a>
+<span class="sourceLineNo">547</span>        listOfPeers.add(peer);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      } catch (ReplicationException e) {<a name="line.548"></a>
+<span class="sourceLineNo">549</span>        LOG.warn("Failed to get valid replication peers. "<a name="line.549"></a>
+<span class="sourceLineNo">550</span>            + "Error connecting to peer cluster with peerId=" + peerId + ". Error message="<a name="line.550"></a>
+<span class="sourceLineNo">551</span>            + e.getMessage());<a name="line.551"></a>
+<span class="sourceLineNo">552</span>        LOG.debug("Failure details to get valid replication peers.", e);<a name="line.552"></a>
+<span class="sourceLineNo">553</span>        continue;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>      }<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
+<span class="sourceLineNo">556</span>    return listOfPeers;<a name="line.556"></a>
+<span class="sourceLineNo">557</span>  }<a name="line.557"></a>
+<span class="sourceLineNo">558</span><a name="line.558"></a>
+<span class="sourceLineNo">559</span>  /**<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   * Set a namespace in the peer config means that all tables in this namespace<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * will be replicated to the peer cluster.<a name="line.561"></a>
 <span class="sourceLineNo">562</span>   *<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * @param namespaces<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * @param tableCfs<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * @throws ReplicationException<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   */<a name="line.566"></a>
-<span class="sourceLineNo">567</span>  private void checkNamespacesAndTableCfsConfigConflict(Set&lt;String&gt; namespaces,<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      Map&lt;TableName, ? extends Collection&lt;String&gt;&gt; tableCfs) throws ReplicationException {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    if (namespaces == null || namespaces.isEmpty()) {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      return;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    }<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    if (tableCfs == null || tableCfs.isEmpty()) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      return;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    }<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    for (Map.Entry&lt;TableName, ? extends Collection&lt;String&gt;&gt; entry : tableCfs.entrySet()) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      TableName table = entry.getKey();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      if (namespaces.contains(table.getNamespaceAsString())) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>        throw new ReplicationException(<a name="line.578"></a>
-<span class="sourceLineNo">579</span>            "Table-cfs config conflict with namespaces config in peer");<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>  }<a name="line.582"></a>
-<span class="sourceLineNo">583</span>}<a name="line.583"></a>
+<span class="sourceLineNo">563</span>   * 1. If you already have set a namespace in the peer config, then you can't set any table<a name="line.563"></a>
+<span class="sourceLineNo">564</span>   *    of this namespace to the peer config.<a name="line.564"></a>
+<span class="sourceLineNo">565</span>   * 2. If you already have set a table in the peer config, then you can't set this table's<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   *    namespace to the peer config.<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * @param namespaces<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   * @param tableCfs<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   * @throws ReplicationException<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  private void checkNamespacesAndTableCfsConfigConflict(Set&lt;String&gt; namespaces,<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      Map&lt;TableName, ? extends Collection&lt;String&gt;&gt; tableCfs) throws ReplicationException {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    if (namespaces == null || namespaces.isEmpty()) {<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      return;<a name="line.575"></a>
+<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    if (tableCfs == null || tableCfs.isEmpty()) {<a name="line.577"></a>
+<span class="sourceLineNo">578</span>      return;<a name="line.578"></a>
+<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    for (Map.Entry&lt;TableName, ? extends Collection&lt;String&gt;&gt; entry : tableCfs.entrySet()) {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      TableName table = entry.getKey();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      if (namespaces.contains(table.getNamespaceAsString())) {<a name="line.582"></a>
+<span class="sourceLineNo">583</span>        throw new ReplicationException(<a name="line.583"></a>
+<span class="sourceLineNo">584</span>            "Table-cfs config conflict with namespaces config in peer");<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      }<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    }<a name="line.586"></a>
+<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
+<span class="sourceLineNo">588</span>}<a name="line.588"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html b/apidocs/src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html
index ab67bc0..8540fe3 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/errorhandling/ForeignException.html
@@ -115,92 +115,91 @@
 <span class="sourceLineNo">107</span>    // if there is no stack trace, ignore it and just return the message<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    if (trace == null) return null;<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    // build the stack trace for the message<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    List&lt;StackTraceElementMessage&gt; pbTrace =<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        new ArrayList&lt;StackTraceElementMessage&gt;(trace.length);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    for (StackTraceElement elem : trace) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      StackTraceElementMessage.Builder stackBuilder = StackTraceElementMessage.newBuilder();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      stackBuilder.setDeclaringClass(elem.getClassName());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      stackBuilder.setFileName(elem.getFileName());<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      stackBuilder.setLineNumber(elem.getLineNumber());<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      stackBuilder.setMethodName(elem.getMethodName());<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      pbTrace.add(stackBuilder.build());<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return pbTrace;<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>   * This is a Proxy Throwable that contains the information of the original remote exception<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private static class ProxyThrowable extends Throwable {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    ProxyThrowable(String msg, StackTraceElement[] trace) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      super(msg);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      this.setStackTrace(trace);<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><a name="line.132"></a>
-<span class="sourceLineNo">133</span>  /**<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * Converts a ForeignException to an array of bytes.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @param source the name of the external exception source<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @param t the "local" external exception (local)<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * @return protobuf serialized version of ForeignException<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  public static byte[] serialize(String source, Throwable t) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    GenericExceptionMessage.Builder gemBuilder = GenericExceptionMessage.newBuilder();<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    gemBuilder.setClassName(t.getClass().getName());<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    if (t.getMessage() != null) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      gemBuilder.setMessage(t.getMessage());<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // set the stack trace, if there is one<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    List&lt;StackTraceElementMessage&gt; stack =<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        ForeignException.toStackTraceElementMessages(t.getStackTrace());<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    if (stack != null) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      gemBuilder.addAllTrace(stack);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    GenericExceptionMessage payload = gemBuilder.build();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    ForeignExceptionMessage.Builder exception = ForeignExceptionMessage.newBuilder();<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    exception.setGenericException(payload).setSource(source);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    ForeignExceptionMessage eem = exception.build();<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return eem.toByteArray();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * Takes a series of bytes and tries to generate an ForeignException instance for it.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * @param bytes<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * @return the ForeignExcpetion instance<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @throws InvalidProtocolBufferException if there was deserialization problem this is thrown.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @throws org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException <a name="line.163"></a>
-<span class="sourceLineNo">164</span>   */<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public static ForeignException deserialize(byte[] bytes)<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  throws IOException {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    // figure out the data we need to pass<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    ForeignExceptionMessage eem = ForeignExceptionMessage.parseFrom(bytes);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    GenericExceptionMessage gem = eem.getGenericException();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    StackTraceElement [] trace = ForeignException.toStackTrace(gem.getTraceList());<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    ProxyThrowable dfe = new ProxyThrowable(gem.getMessage(), trace);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    ForeignException e = new ForeignException(eem.getSource(), dfe);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    return e;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  /**<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * Unwind a serialized array of {@link StackTraceElementMessage}s to a<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * {@link StackTraceElement}s.<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * @param traceList list that was serialized<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @return the deserialized list or &lt;tt&gt;null&lt;/tt&gt; if it couldn't be unwound (e.g. wasn't set on<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   *         the sender).<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  private static StackTraceElement[] toStackTrace(List&lt;StackTraceElementMessage&gt; traceList) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    if (traceList == null || traceList.isEmpty()) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      return new StackTraceElement[0]; // empty array<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    StackTraceElement[] trace = new StackTraceElement[traceList.size()];<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    for (int i = 0; i &lt; traceList.size(); i++) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      StackTraceElementMessage elem = traceList.get(i);<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      trace[i] = new StackTraceElement(<a name="line.190"></a>
-<span class="sourceLineNo">191</span>          elem.getDeclaringClass(), elem.getMethodName(), elem.getFileName(), elem.getLineNumber());<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    }<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    return trace;<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">110</span>    List&lt;StackTraceElementMessage&gt; pbTrace = new ArrayList&lt;&gt;(trace.length);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    for (StackTraceElement elem : trace) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      StackTraceElementMessage.Builder stackBuilder = StackTraceElementMessage.newBuilder();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      stackBuilder.setDeclaringClass(elem.getClassName());<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      stackBuilder.setFileName(elem.getFileName());<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      stackBuilder.setLineNumber(elem.getLineNumber());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      stackBuilder.setMethodName(elem.getMethodName());<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      pbTrace.add(stackBuilder.build());<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return pbTrace;<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>  /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * This is a Proxy Throwable that contains the information of the original remote exception<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  private static class ProxyThrowable extends Throwable {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    ProxyThrowable(String msg, StackTraceElement[] trace) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      super(msg);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      this.setStackTrace(trace);<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>  /**<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * Converts a ForeignException to an array of bytes.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @param source the name of the external exception source<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param t the "local" external exception (local)<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @return protobuf serialized version of ForeignException<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public static byte[] serialize(String source, Throwable t) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    GenericExceptionMessage.Builder gemBuilder = GenericExceptionMessage.newBuilder();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    gemBuilder.setClassName(t.getClass().getName());<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    if (t.getMessage() != null) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      gemBuilder.setMessage(t.getMessage());<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    // set the stack trace, if there is one<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    List&lt;StackTraceElementMessage&gt; stack =<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        ForeignException.toStackTraceElementMessages(t.getStackTrace());<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    if (stack != null) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      gemBuilder.addAllTrace(stack);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    GenericExceptionMessage payload = gemBuilder.build();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    ForeignExceptionMessage.Builder exception = ForeignExceptionMessage.newBuilder();<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    exception.setGenericException(payload).setSource(source);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    ForeignExceptionMessage eem = exception.build();<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    return eem.toByteArray();<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * Takes a series of bytes and tries to generate an ForeignException instance for it.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @param bytes<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * @return the ForeignExcpetion instance<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @throws InvalidProtocolBufferException if there was deserialization problem this is thrown.<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @throws org.apache.hadoop.hbase.shaded.com.google.protobuf.InvalidProtocolBufferException <a name="line.162"></a>
+<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public static ForeignException deserialize(byte[] bytes)<a name="line.164"></a>
+<span class="sourceLineNo">165</span>  throws IOException {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    // figure out the data we need to pass<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    ForeignExceptionMessage eem = ForeignExceptionMessage.parseFrom(bytes);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    GenericExceptionMessage gem = eem.getGenericException();<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    StackTraceElement [] trace = ForeignException.toStackTrace(gem.getTraceList());<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    ProxyThrowable dfe = new ProxyThrowable(gem.getMessage(), trace);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    ForeignException e = new ForeignException(eem.getSource(), dfe);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return e;<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>  /**<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * Unwind a serialized array of {@link StackTraceElementMessage}s to a<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * {@link StackTraceElement}s.<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   * @param traceList list that was serialized<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * @return the deserialized list or &lt;tt&gt;null&lt;/tt&gt; if it couldn't be unwound (e.g. wasn't set on<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   *         the sender).<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   */<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  private static StackTraceElement[] toStackTrace(List&lt;StackTraceElementMessage&gt; traceList) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    if (traceList == null || traceList.isEmpty()) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      return new StackTraceElement[0]; // empty array<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    StackTraceElement[] trace = new StackTraceElement[traceList.size()];<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    for (int i = 0; i &lt; traceList.size(); i++) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      StackTraceElementMessage elem = traceList.get(i);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      trace[i] = new StackTraceElement(<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          elem.getDeclaringClass(), elem.getMethodName(), elem.getFileName(), elem.getLineNumber());<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    return trace;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>}<a name="line.194"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
index 52dbaf6..bb7c162 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
@@ -185,7 +185,7 @@
 <span class="sourceLineNo">177</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.177"></a>
 <span class="sourceLineNo">178</span>      }<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;Object&gt;(2);<a name="line.180"></a>
+<span class="sourceLineNo">180</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    arguments.add(compareOp);<a name="line.181"></a>
 <span class="sourceLineNo">182</span>    arguments.add(comparator);<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    return arguments;<a name="line.183"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
index 52dbaf6..bb7c162 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
@@ -185,7 +185,7 @@
 <span class="sourceLineNo">177</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.177"></a>
 <span class="sourceLineNo">178</span>      }<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;Object&gt;(2);<a name="line.180"></a>
+<span class="sourceLineNo">180</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    arguments.add(compareOp);<a name="line.181"></a>
 <span class="sourceLineNo">182</span>    arguments.add(comparator);<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    return arguments;<a name="line.183"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
index ef89262..68f3990 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
@@ -62,7 +62,7 @@
 <span class="sourceLineNo">054</span>  protected byte[] columnQualifier;<a name="line.54"></a>
 <span class="sourceLineNo">055</span>  protected boolean dropDependentColumn;<a name="line.55"></a>
 <span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>  protected Set&lt;Long&gt; stampSet = new HashSet&lt;Long&gt;();<a name="line.57"></a>
+<span class="sourceLineNo">057</span>  protected Set&lt;Long&gt; stampSet = new HashSet&lt;&gt;();<a name="line.57"></a>
 <span class="sourceLineNo">058</span>  <a name="line.58"></a>
 <span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
 <span class="sourceLineNo">060</span>   * Build a dependent column filter with value checking<a name="line.60"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html
index a7878d7..99bb715 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html
@@ -461,7 +461,7 @@
 <span class="sourceLineNo">453</span>      throw new DeserializationException(e);<a name="line.453"></a>
 <span class="sourceLineNo">454</span>    }<a name="line.454"></a>
 <span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;Filter&gt; rowFilters = new ArrayList&lt;Filter&gt;(proto.getFiltersCount());<a name="line.456"></a>
+<span class="sourceLineNo">456</span>    List&lt;Filter&gt; rowFilters = new ArrayList&lt;&gt;(proto.getFiltersCount());<a name="line.456"></a>
 <span class="sourceLineNo">457</span>    try {<a name="line.457"></a>
 <span class="sourceLineNo">458</span>      List&lt;FilterProtos.Filter&gt; filtersList = proto.getFiltersList();<a name="line.458"></a>
 <span class="sourceLineNo">459</span>      int listSize = filtersList.size();<a name="line.459"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html
index a7878d7..99bb715 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html
@@ -461,7 +461,7 @@
 <span class="sourceLineNo">453</span>      throw new DeserializationException(e);<a name="line.453"></a>
 <span class="sourceLineNo">454</span>    }<a name="line.454"></a>
 <span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;Filter&gt; rowFilters = new ArrayList&lt;Filter&gt;(proto.getFiltersCount());<a name="line.456"></a>
+<span class="sourceLineNo">456</span>    List&lt;Filter&gt; rowFilters = new ArrayList&lt;&gt;(proto.getFiltersCount());<a name="line.456"></a>
 <span class="sourceLineNo">457</span>    try {<a name="line.457"></a>
 <span class="sourceLineNo">458</span>      List&lt;FilterProtos.Filter&gt; filtersList = proto.getFiltersList();<a name="line.458"></a>
 <span class="sourceLineNo">459</span>      int listSize = filtersList.size();<a name="line.459"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
index 6548544..b1d4056 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
@@ -49,7 +49,7 @@
 <span class="sourceLineNo">041</span> * Note : It may emit KVs which do not have the given columns in them, if<a name="line.41"></a>
 <span class="sourceLineNo">042</span> * these KVs happen to occur before a KV which does have a match. Given this<a name="line.42"></a>
 <span class="sourceLineNo">043</span> * caveat, this filter is only useful for special cases<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * like {@link org.apache.hadoop.hbase.mapreduce.RowCounter}.<a name="line.44"></a>
+<span class="sourceLineNo">044</span> * like org.apache.hadoop.hbase.mapreduce.RowCounter.<a name="line.44"></a>
 <span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
 <span class="sourceLineNo">046</span> * @deprecated Deprecated in 2.0. See HBASE-13347<a name="line.46"></a>
 <span class="sourceLineNo">047</span> */<a name="line.47"></a>
@@ -116,7 +116,7 @@
 <span class="sourceLineNo">108</span>      throw new DeserializationException(e);<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
 <span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>    TreeSet&lt;byte []&gt; qualifiers = new TreeSet&lt;byte []&gt;(Bytes.BYTES_COMPARATOR);<a name="line.111"></a>
+<span class="sourceLineNo">111</span>    TreeSet&lt;byte []&gt; qualifiers = new TreeSet&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    for (ByteString qualifier : proto.getQualifiersList()) {<a name="line.112"></a>
 <span class="sourceLineNo">113</span>      qualifiers.add(qualifier.toByteArray());<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    }<a name="line.114"></a>


[02/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html b/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
index 608d19a..f42fb90 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
@@ -606,119 +606,118 @@
 <span class="sourceLineNo">598</span>    Path snapshotDir = SnapshotDescriptionUtils.getSnapshotsDir(rootDir);<a name="line.598"></a>
 <span class="sourceLineNo">599</span>    FileStatus[] snapshots = fs.listStatus(snapshotDir,<a name="line.599"></a>
 <span class="sourceLineNo">600</span>        new SnapshotDescriptionUtils.CompletedSnaphotDirectoriesFilter(fs));<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    List&lt;SnapshotDescription&gt; snapshotLists =<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      new ArrayList&lt;SnapshotDescription&gt;(snapshots.length);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    for (FileStatus snapshotDirStat: snapshots) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      HBaseProtos.SnapshotDescription snapshotDesc =<a name="line.604"></a>
-<span class="sourceLineNo">605</span>          SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDirStat.getPath());<a name="line.605"></a>
-<span class="sourceLineNo">606</span>      snapshotLists.add(ProtobufUtil.createSnapshotDesc(snapshotDesc));<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    return snapshotLists;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>  }<a name="line.609"></a>
-<span class="sourceLineNo">610</span><a name="line.610"></a>
-<span class="sourceLineNo">611</span>  /**<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * Gets the store files map for snapshot<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * @param conf the {@link Configuration} to use<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param snapshot {@link SnapshotDescription} to get stats from<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param exec the {@link ExecutorService} to use<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param filesMap {@link Map} the map to put the mapping entries<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param uniqueHFilesArchiveSize {@link AtomicLong} the accumulated store file size in archive<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param uniqueHFilesSize {@link AtomicLong} the accumulated store file size shared<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param uniqueHFilesMobSize {@link AtomicLong} the accumulated mob store file size shared<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @return the snapshot stats<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  private static void getSnapshotFilesMap(final Configuration conf,<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      final SnapshotDescription snapshot, final ExecutorService exec,<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      final ConcurrentHashMap&lt;Path, Integer&gt; filesMap,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      final AtomicLong uniqueHFilesArchiveSize, final AtomicLong uniqueHFilesSize,<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      final AtomicLong uniqueHFilesMobSize) throws IOException {<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    HBaseProtos.SnapshotDescription snapshotDesc =<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    Path rootDir = FSUtils.getRootDir(conf);<a name="line.629"></a>
-<span class="sourceLineNo">630</span>    final FileSystem fs = FileSystem.get(rootDir.toUri(), conf);<a name="line.630"></a>
-<span class="sourceLineNo">631</span><a name="line.631"></a>
-<span class="sourceLineNo">632</span>    Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotDesc, rootDir);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    SnapshotManifest manifest = SnapshotManifest.open(conf, fs, snapshotDir, snapshotDesc);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    SnapshotReferenceUtil.concurrentVisitReferencedFiles(conf, fs, manifest, exec,<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        new SnapshotReferenceUtil.SnapshotVisitor() {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          @Override public void storeFile(final HRegionInfo regionInfo, final String family,<a name="line.636"></a>
-<span class="sourceLineNo">637</span>              final SnapshotRegionManifest.StoreFile storeFile) throws IOException {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>            if (!storeFile.hasReference()) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>              HFileLink link = HFileLink.build(conf, snapshot.getTableName(),<a name="line.639"></a>
-<span class="sourceLineNo">640</span>                  regionInfo.getEncodedName(), family, storeFile.getName());<a name="line.640"></a>
-<span class="sourceLineNo">641</span>              long size;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>              Integer count;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>              Path p;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>              AtomicLong al;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>              int c = 0;<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>              if (fs.exists(link.getArchivePath())) {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>                p = link.getArchivePath();<a name="line.648"></a>
-<span class="sourceLineNo">649</span>                al = uniqueHFilesArchiveSize;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>                size = fs.getFileStatus(p).getLen();<a name="line.650"></a>
-<span class="sourceLineNo">651</span>              } else if (fs.exists(link.getMobPath())) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>                p = link.getMobPath();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>                al = uniqueHFilesMobSize;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>                size = fs.getFileStatus(p).getLen();<a name="line.654"></a>
-<span class="sourceLineNo">655</span>              } else {<a name="line.655"></a>
-<span class="sourceLineNo">656</span>                p = link.getOriginPath();<a name="line.656"></a>
-<span class="sourceLineNo">657</span>                al = uniqueHFilesSize;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>                size = link.getFileStatus(fs).getLen();<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>              // If it has been counted, do not double count<a name="line.661"></a>
-<span class="sourceLineNo">662</span>              count = filesMap.get(p);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              if (count != null) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>                c = count.intValue();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>              } else {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>                al.addAndGet(size);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>              }<a name="line.667"></a>
-<span class="sourceLineNo">668</span><a name="line.668"></a>
-<span class="sourceLineNo">669</span>              filesMap.put(p, ++c);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>            }<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          }<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        });<a name="line.672"></a>
-<span class="sourceLineNo">673</span>  }<a name="line.673"></a>
-<span class="sourceLineNo">674</span><a name="line.674"></a>
-<span class="sourceLineNo">675</span>  /**<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   * Returns the map of store files based on path for all snapshots<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   * @param conf the {@link Configuration} to use<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * @param uniqueHFilesArchiveSize pass out the size for store files in archive<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   * @param uniqueHFilesSize pass out the size for store files shared<a name="line.679"></a>
-<span class="sourceLineNo">680</span>   * @param uniqueHFilesMobSize pass out the size for mob store files shared<a name="line.680"></a>
-<span class="sourceLineNo">681</span>   * @return the map of store files<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   */<a name="line.682"></a>
-<span class="sourceLineNo">683</span>  public static Map&lt;Path, Integer&gt; getSnapshotsFilesMap(final Configuration conf,<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      AtomicLong uniqueHFilesArchiveSize, AtomicLong uniqueHFilesSize,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      AtomicLong uniqueHFilesMobSize) throws IOException {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    List&lt;SnapshotDescription&gt; snapshotList = getSnapshotList(conf);<a name="line.686"></a>
+<span class="sourceLineNo">601</span>    List&lt;SnapshotDescription&gt; snapshotLists = new ArrayList&lt;&gt;(snapshots.length);<a name="line.601"></a>
+<span class="sourceLineNo">602</span>    for (FileStatus snapshotDirStat: snapshots) {<a name="line.602"></a>
+<span class="sourceLineNo">603</span>      HBaseProtos.SnapshotDescription snapshotDesc =<a name="line.603"></a>
+<span class="sourceLineNo">604</span>          SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDirStat.getPath());<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      snapshotLists.add(ProtobufUtil.createSnapshotDesc(snapshotDesc));<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    }<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    return snapshotLists;<a name="line.607"></a>
+<span class="sourceLineNo">608</span>  }<a name="line.608"></a>
+<span class="sourceLineNo">609</span><a name="line.609"></a>
+<span class="sourceLineNo">610</span>  /**<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * Gets the store files map for snapshot<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   * @param conf the {@link Configuration} to use<a name="line.612"></a>
+<span class="sourceLineNo">613</span>   * @param snapshot {@link SnapshotDescription} to get stats from<a name="line.613"></a>
+<span class="sourceLineNo">614</span>   * @param exec the {@link ExecutorService} to use<a name="line.614"></a>
+<span class="sourceLineNo">615</span>   * @param filesMap {@link Map} the map to put the mapping entries<a name="line.615"></a>
+<span class="sourceLineNo">616</span>   * @param uniqueHFilesArchiveSize {@link AtomicLong} the accumulated store file size in archive<a name="line.616"></a>
+<span class="sourceLineNo">617</span>   * @param uniqueHFilesSize {@link AtomicLong} the accumulated store file size shared<a name="line.617"></a>
+<span class="sourceLineNo">618</span>   * @param uniqueHFilesMobSize {@link AtomicLong} the accumulated mob store file size shared<a name="line.618"></a>
+<span class="sourceLineNo">619</span>   * @return the snapshot stats<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   */<a name="line.620"></a>
+<span class="sourceLineNo">621</span>  private static void getSnapshotFilesMap(final Configuration conf,<a name="line.621"></a>
+<span class="sourceLineNo">622</span>      final SnapshotDescription snapshot, final ExecutorService exec,<a name="line.622"></a>
+<span class="sourceLineNo">623</span>      final ConcurrentHashMap&lt;Path, Integer&gt; filesMap,<a name="line.623"></a>
+<span class="sourceLineNo">624</span>      final AtomicLong uniqueHFilesArchiveSize, final AtomicLong uniqueHFilesSize,<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      final AtomicLong uniqueHFilesMobSize) throws IOException {<a name="line.625"></a>
+<span class="sourceLineNo">626</span>    HBaseProtos.SnapshotDescription snapshotDesc =<a name="line.626"></a>
+<span class="sourceLineNo">627</span>        ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot);<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    Path rootDir = FSUtils.getRootDir(conf);<a name="line.628"></a>
+<span class="sourceLineNo">629</span>    final FileSystem fs = FileSystem.get(rootDir.toUri(), conf);<a name="line.629"></a>
+<span class="sourceLineNo">630</span><a name="line.630"></a>
+<span class="sourceLineNo">631</span>    Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotDesc, rootDir);<a name="line.631"></a>
+<span class="sourceLineNo">632</span>    SnapshotManifest manifest = SnapshotManifest.open(conf, fs, snapshotDir, snapshotDesc);<a name="line.632"></a>
+<span class="sourceLineNo">633</span>    SnapshotReferenceUtil.concurrentVisitReferencedFiles(conf, fs, manifest, exec,<a name="line.633"></a>
+<span class="sourceLineNo">634</span>        new SnapshotReferenceUtil.SnapshotVisitor() {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>          @Override public void storeFile(final HRegionInfo regionInfo, final String family,<a name="line.635"></a>
+<span class="sourceLineNo">636</span>              final SnapshotRegionManifest.StoreFile storeFile) throws IOException {<a name="line.636"></a>
+<span class="sourceLineNo">637</span>            if (!storeFile.hasReference()) {<a name="line.637"></a>
+<span class="sourceLineNo">638</span>              HFileLink link = HFileLink.build(conf, snapshot.getTableName(),<a name="line.638"></a>
+<span class="sourceLineNo">639</span>                  regionInfo.getEncodedName(), family, storeFile.getName());<a name="line.639"></a>
+<span class="sourceLineNo">640</span>              long size;<a name="line.640"></a>
+<span class="sourceLineNo">641</span>              Integer count;<a name="line.641"></a>
+<span class="sourceLineNo">642</span>              Path p;<a name="line.642"></a>
+<span class="sourceLineNo">643</span>              AtomicLong al;<a name="line.643"></a>
+<span class="sourceLineNo">644</span>              int c = 0;<a name="line.644"></a>
+<span class="sourceLineNo">645</span><a name="line.645"></a>
+<span class="sourceLineNo">646</span>              if (fs.exists(link.getArchivePath())) {<a name="line.646"></a>
+<span class="sourceLineNo">647</span>                p = link.getArchivePath();<a name="line.647"></a>
+<span class="sourceLineNo">648</span>                al = uniqueHFilesArchiveSize;<a name="line.648"></a>
+<span class="sourceLineNo">649</span>                size = fs.getFileStatus(p).getLen();<a name="line.649"></a>
+<span class="sourceLineNo">650</span>              } else if (fs.exists(link.getMobPath())) {<a name="line.650"></a>
+<span class="sourceLineNo">651</span>                p = link.getMobPath();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>                al = uniqueHFilesMobSize;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>                size = fs.getFileStatus(p).getLen();<a name="line.653"></a>
+<span class="sourceLineNo">654</span>              } else {<a name="line.654"></a>
+<span class="sourceLineNo">655</span>                p = link.getOriginPath();<a name="line.655"></a>
+<span class="sourceLineNo">656</span>                al = uniqueHFilesSize;<a name="line.656"></a>
+<span class="sourceLineNo">657</span>                size = link.getFileStatus(fs).getLen();<a name="line.657"></a>
+<span class="sourceLineNo">658</span>              }<a name="line.658"></a>
+<span class="sourceLineNo">659</span><a name="line.659"></a>
+<span class="sourceLineNo">660</span>              // If it has been counted, do not double count<a name="line.660"></a>
+<span class="sourceLineNo">661</span>              count = filesMap.get(p);<a name="line.661"></a>
+<span class="sourceLineNo">662</span>              if (count != null) {<a name="line.662"></a>
+<span class="sourceLineNo">663</span>                c = count.intValue();<a name="line.663"></a>
+<span class="sourceLineNo">664</span>              } else {<a name="line.664"></a>
+<span class="sourceLineNo">665</span>                al.addAndGet(size);<a name="line.665"></a>
+<span class="sourceLineNo">666</span>              }<a name="line.666"></a>
+<span class="sourceLineNo">667</span><a name="line.667"></a>
+<span class="sourceLineNo">668</span>              filesMap.put(p, ++c);<a name="line.668"></a>
+<span class="sourceLineNo">669</span>            }<a name="line.669"></a>
+<span class="sourceLineNo">670</span>          }<a name="line.670"></a>
+<span class="sourceLineNo">671</span>        });<a name="line.671"></a>
+<span class="sourceLineNo">672</span>  }<a name="line.672"></a>
+<span class="sourceLineNo">673</span><a name="line.673"></a>
+<span class="sourceLineNo">674</span>  /**<a name="line.674"></a>
+<span class="sourceLineNo">675</span>   * Returns the map of store files based on path for all snapshots<a name="line.675"></a>
+<span class="sourceLineNo">676</span>   * @param conf the {@link Configuration} to use<a name="line.676"></a>
+<span class="sourceLineNo">677</span>   * @param uniqueHFilesArchiveSize pass out the size for store files in archive<a name="line.677"></a>
+<span class="sourceLineNo">678</span>   * @param uniqueHFilesSize pass out the size for store files shared<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   * @param uniqueHFilesMobSize pass out the size for mob store files shared<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   * @return the map of store files<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   */<a name="line.681"></a>
+<span class="sourceLineNo">682</span>  public static Map&lt;Path, Integer&gt; getSnapshotsFilesMap(final Configuration conf,<a name="line.682"></a>
+<span class="sourceLineNo">683</span>      AtomicLong uniqueHFilesArchiveSize, AtomicLong uniqueHFilesSize,<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      AtomicLong uniqueHFilesMobSize) throws IOException {<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    List&lt;SnapshotDescription&gt; snapshotList = getSnapshotList(conf);<a name="line.685"></a>
+<span class="sourceLineNo">686</span><a name="line.686"></a>
 <span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span>    if (snapshotList.isEmpty()) {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      return Collections.emptyMap();<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    }<a name="line.691"></a>
-<span class="sourceLineNo">692</span><a name="line.692"></a>
-<span class="sourceLineNo">693</span>    ConcurrentHashMap&lt;Path, Integer&gt; fileMap = new ConcurrentHashMap&lt;&gt;();<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>    ExecutorService exec = SnapshotManifest.createExecutor(conf, "SnapshotsFilesMapping");<a name="line.695"></a>
-<span class="sourceLineNo">696</span><a name="line.696"></a>
-<span class="sourceLineNo">697</span>    try {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      for (final SnapshotDescription snapshot : snapshotList) {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>        getSnapshotFilesMap(conf, snapshot, exec, fileMap, uniqueHFilesArchiveSize,<a name="line.699"></a>
-<span class="sourceLineNo">700</span>            uniqueHFilesSize, uniqueHFilesMobSize);<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      }<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    } finally {<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      exec.shutdown();<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>    return fileMap;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>  }<a name="line.707"></a>
+<span class="sourceLineNo">688</span>    if (snapshotList.isEmpty()) {<a name="line.688"></a>
+<span class="sourceLineNo">689</span>      return Collections.emptyMap();<a name="line.689"></a>
+<span class="sourceLineNo">690</span>    }<a name="line.690"></a>
+<span class="sourceLineNo">691</span><a name="line.691"></a>
+<span class="sourceLineNo">692</span>    ConcurrentHashMap&lt;Path, Integer&gt; fileMap = new ConcurrentHashMap&lt;&gt;();<a name="line.692"></a>
+<span class="sourceLineNo">693</span><a name="line.693"></a>
+<span class="sourceLineNo">694</span>    ExecutorService exec = SnapshotManifest.createExecutor(conf, "SnapshotsFilesMapping");<a name="line.694"></a>
+<span class="sourceLineNo">695</span><a name="line.695"></a>
+<span class="sourceLineNo">696</span>    try {<a name="line.696"></a>
+<span class="sourceLineNo">697</span>      for (final SnapshotDescription snapshot : snapshotList) {<a name="line.697"></a>
+<span class="sourceLineNo">698</span>        getSnapshotFilesMap(conf, snapshot, exec, fileMap, uniqueHFilesArchiveSize,<a name="line.698"></a>
+<span class="sourceLineNo">699</span>            uniqueHFilesSize, uniqueHFilesMobSize);<a name="line.699"></a>
+<span class="sourceLineNo">700</span>      }<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    } finally {<a name="line.701"></a>
+<span class="sourceLineNo">702</span>      exec.shutdown();<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>    return fileMap;<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>  public static void main(String[] args) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    new SnapshotInfo().doStaticMain(args);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>  }<a name="line.712"></a>
-<span class="sourceLineNo">713</span>}<a name="line.713"></a>
+<span class="sourceLineNo">709</span>  public static void main(String[] args) {<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    new SnapshotInfo().doStaticMain(args);<a name="line.710"></a>
+<span class="sourceLineNo">711</span>  }<a name="line.711"></a>
+<span class="sourceLineNo">712</span>}<a name="line.712"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html b/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html
index e22a251..81d9266 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/types/StructBuilder.html
@@ -38,7 +38,7 @@
 <span class="sourceLineNo">030</span>@InterfaceStability.Evolving<a name="line.30"></a>
 <span class="sourceLineNo">031</span>public class StructBuilder {<a name="line.31"></a>
 <span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>  protected final List&lt;DataType&lt;?&gt;&gt; fields = new ArrayList&lt;DataType&lt;?&gt;&gt;();<a name="line.33"></a>
+<span class="sourceLineNo">033</span>  protected final List&lt;DataType&lt;?&gt;&gt; fields = new ArrayList&lt;&gt;();<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>   * Create an empty {@code StructBuilder}.<a name="line.36"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html b/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html
index f6d2601..91f2d1c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/util/ByteRangeUtils.html
@@ -57,7 +57,7 @@
 <span class="sourceLineNo">049</span><a name="line.49"></a>
 <span class="sourceLineNo">050</span>  public static ArrayList&lt;byte[]&gt; copyToNewArrays(Collection&lt;ByteRange&gt; ranges) {<a name="line.50"></a>
 <span class="sourceLineNo">051</span>    if (ranges == null) {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>      return new ArrayList&lt;byte[]&gt;(0);<a name="line.52"></a>
+<span class="sourceLineNo">052</span>      return new ArrayList&lt;&gt;(0);<a name="line.52"></a>
 <span class="sourceLineNo">053</span>    }<a name="line.53"></a>
 <span class="sourceLineNo">054</span>    ArrayList&lt;byte[]&gt; arrays = Lists.newArrayListWithCapacity(ranges.size());<a name="line.54"></a>
 <span class="sourceLineNo">055</span>    for (ByteRange range : ranges) {<a name="line.55"></a>
@@ -68,7 +68,7 @@
 <span class="sourceLineNo">060</span><a name="line.60"></a>
 <span class="sourceLineNo">061</span>  public static ArrayList&lt;ByteRange&gt; fromArrays(Collection&lt;byte[]&gt; arrays) {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    if (arrays == null) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      return new ArrayList&lt;ByteRange&gt;(0);<a name="line.63"></a>
+<span class="sourceLineNo">063</span>      return new ArrayList&lt;&gt;(0);<a name="line.63"></a>
 <span class="sourceLineNo">064</span>    }<a name="line.64"></a>
 <span class="sourceLineNo">065</span>    ArrayList&lt;ByteRange&gt; ranges = Lists.newArrayListWithCapacity(arrays.size());<a name="line.65"></a>
 <span class="sourceLineNo">066</span>    for (byte[] array : arrays) {<a name="line.66"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html b/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html
index 9eaa194..fb1cd2e 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/util/Counter.html
@@ -102,7 +102,7 @@
 <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>  private Counter(Cell initCell) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    containerRef = new AtomicReference&lt;Container&gt;(new Container(initCell));<a name="line.97"></a>
+<span class="sourceLineNo">097</span>    containerRef = new AtomicReference&lt;&gt;(new Container(initCell));<a name="line.97"></a>
 <span class="sourceLineNo">098</span>  }<a name="line.98"></a>
 <span class="sourceLineNo">099</span><a name="line.99"></a>
 <span class="sourceLineNo">100</span>  private static int hash() {<a name="line.100"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html b/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html
index b719325..580ed2a 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/util/EncryptionTest.html
@@ -48,122 +48,121 @@
 <span class="sourceLineNo">040</span>public class EncryptionTest {<a name="line.40"></a>
 <span class="sourceLineNo">041</span>  private static final Log LOG = LogFactory.getLog(EncryptionTest.class);<a name="line.41"></a>
 <span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  static final Map&lt;String, Boolean&gt; keyProviderResults = new ConcurrentHashMap&lt;String, Boolean&gt;();<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  static final Map&lt;String, Boolean&gt; cipherProviderResults =<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    new ConcurrentHashMap&lt;String, Boolean&gt;();<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  static final Map&lt;String, Boolean&gt; cipherResults = new ConcurrentHashMap&lt;String, Boolean&gt;();<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  private EncryptionTest() {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  /**<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * Check that the configured key provider can be loaded and initialized, or<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * throw an exception.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   *<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * @param conf<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   * @throws IOException<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static void testKeyProvider(final Configuration conf) throws IOException {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    String providerClassName = conf.get(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      KeyStoreKeyProvider.class.getName());<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    Boolean result = keyProviderResults.get(providerClassName);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    if (result == null) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      try {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>        Encryption.getKeyProvider(conf);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>        keyProviderResults.put(providerClassName, true);<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      } catch (Exception e) { // most likely a RuntimeException<a name="line.66"></a>
-<span class="sourceLineNo">067</span>        keyProviderResults.put(providerClassName, false);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>        throw new IOException("Key provider " + providerClassName + " failed test: " +<a name="line.68"></a>
-<span class="sourceLineNo">069</span>          e.getMessage(), e);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      }<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    } else if (result.booleanValue() == false) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      throw new IOException("Key provider " + providerClassName + " previously failed test");<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">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  /**<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * Check that the configured cipher provider can be loaded and initialized, or<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * throw an exception.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   *<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * @param conf<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * @throws IOException<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  public static void testCipherProvider(final Configuration conf) throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    String providerClassName = conf.get(HConstants.CRYPTO_CIPHERPROVIDER_CONF_KEY,<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      DefaultCipherProvider.class.getName());<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    Boolean result = cipherProviderResults.get(providerClassName);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    if (result == null) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      try {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        Encryption.getCipherProvider(conf);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        cipherProviderResults.put(providerClassName, true);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      } catch (Exception e) { // most likely a RuntimeException<a name="line.91"></a>
-<span class="sourceLineNo">092</span>        cipherProviderResults.put(providerClassName, false);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        throw new IOException("Cipher provider " + providerClassName + " failed test: " +<a name="line.93"></a>
-<span class="sourceLineNo">094</span>          e.getMessage(), e);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    } else if (result.booleanValue() == false) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      throw new IOException("Cipher provider " + providerClassName + " previously failed test");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    }<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>  /**<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * Check that the specified cipher can be loaded and initialized, or throw<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * an exception. Verifies key and cipher provider configuration as a<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * prerequisite for cipher verification.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   *<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * @param conf<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * @param cipher<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @param key<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @throws IOException<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public static void testEncryption(final Configuration conf, final String cipher,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      byte[] key) throws IOException {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    if (cipher == null) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      return;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    testKeyProvider(conf);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    testCipherProvider(conf);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    Boolean result = cipherResults.get(cipher);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    if (result == null) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      try {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>        Encryption.Context context = Encryption.newContext(conf);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>        context.setCipher(Encryption.getCipher(conf, cipher));<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        if (key == null) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>          // Make a random key since one was not provided<a name="line.124"></a>
-<span class="sourceLineNo">125</span>          context.setKey(context.getCipher().getRandomKey());<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        } else {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>          // This will be a wrapped key from schema<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          context.setKey(EncryptionUtil.unwrapKey(conf,<a name="line.128"></a>
-<span class="sourceLineNo">129</span>            conf.get(HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY, "hbase"),<a name="line.129"></a>
-<span class="sourceLineNo">130</span>            key));<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        byte[] iv = null;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        if (context.getCipher().getIvLength() &gt; 0) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>          iv = new byte[context.getCipher().getIvLength()];<a name="line.134"></a>
-<span class="sourceLineNo">135</span>          Bytes.random(iv);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        byte[] plaintext = new byte[1024];<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        Bytes.random(plaintext);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        ByteArrayOutputStream out = new ByteArrayOutputStream();<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        Encryption.encrypt(out, new ByteArrayInputStream(plaintext), context, iv);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        byte[] ciphertext = out.toByteArray();<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        out.reset();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        Encryption.decrypt(out, new ByteArrayInputStream(ciphertext), plaintext.length,<a name="line.143"></a>
-<span class="sourceLineNo">144</span>          context, iv);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        byte[] test = out.toByteArray();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        if (!Bytes.equals(plaintext, test)) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>          throw new IOException("Did not pass encrypt/decrypt test");<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        cipherResults.put(cipher, true);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      } catch (Exception e) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        cipherResults.put(cipher, false);<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        throw new IOException("Cipher " + cipher + " failed test: " + e.getMessage(), e);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    } else if (result.booleanValue() == false) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      throw new IOException("Cipher " + cipher + " previously failed test");<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    }<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>}<a name="line.158"></a>
+<span class="sourceLineNo">043</span>  static final Map&lt;String, Boolean&gt; keyProviderResults = new ConcurrentHashMap&lt;&gt;();<a name="line.43"></a>
+<span class="sourceLineNo">044</span>  static final Map&lt;String, Boolean&gt; cipherProviderResults = new ConcurrentHashMap&lt;&gt;();<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  static final Map&lt;String, Boolean&gt; cipherResults = new ConcurrentHashMap&lt;&gt;();<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  private EncryptionTest() {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  /**<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   * Check that the configured key provider can be loaded and initialized, or<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   * throw an exception.<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   *<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * @param conf<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * @throws IOException<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static void testKeyProvider(final Configuration conf) throws IOException {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    String providerClassName = conf.get(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      KeyStoreKeyProvider.class.getName());<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    Boolean result = keyProviderResults.get(providerClassName);<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    if (result == null) {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>      try {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>        Encryption.getKeyProvider(conf);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>        keyProviderResults.put(providerClassName, true);<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      } catch (Exception e) { // most likely a RuntimeException<a name="line.65"></a>
+<span class="sourceLineNo">066</span>        keyProviderResults.put(providerClassName, false);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        throw new IOException("Key provider " + providerClassName + " failed test: " +<a name="line.67"></a>
+<span class="sourceLineNo">068</span>          e.getMessage(), e);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      }<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    } else if (result.booleanValue() == false) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      throw new IOException("Key provider " + providerClassName + " previously failed test");<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><a name="line.74"></a>
+<span class="sourceLineNo">075</span>  /**<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * Check that the configured cipher provider can be loaded and initialized, or<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * throw an exception.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   *<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @param conf<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @throws IOException<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public static void testCipherProvider(final Configuration conf) throws IOException {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    String providerClassName = conf.get(HConstants.CRYPTO_CIPHERPROVIDER_CONF_KEY,<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      DefaultCipherProvider.class.getName());<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    Boolean result = cipherProviderResults.get(providerClassName);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    if (result == null) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      try {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>        Encryption.getCipherProvider(conf);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>        cipherProviderResults.put(providerClassName, true);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      } catch (Exception e) { // most likely a RuntimeException<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        cipherProviderResults.put(providerClassName, false);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        throw new IOException("Cipher provider " + providerClassName + " failed test: " +<a name="line.92"></a>
+<span class="sourceLineNo">093</span>          e.getMessage(), e);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    } else if (result.booleanValue() == false) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      throw new IOException("Cipher provider " + providerClassName + " previously failed test");<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    }<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  }<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>   * Check that the specified cipher can be loaded and initialized, or throw<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * an exception. Verifies key and cipher provider configuration as a<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * prerequisite for cipher verification.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   *<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param conf<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param cipher<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @param key<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * @throws IOException<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public static void testEncryption(final Configuration conf, final String cipher,<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      byte[] key) throws IOException {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    if (cipher == null) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      return;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    testKeyProvider(conf);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    testCipherProvider(conf);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    Boolean result = cipherResults.get(cipher);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    if (result == null) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      try {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        Encryption.Context context = Encryption.newContext(conf);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        context.setCipher(Encryption.getCipher(conf, cipher));<a name="line.121"></a>
+<span class="sourceLineNo">122</span>        if (key == null) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>          // Make a random key since one was not provided<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          context.setKey(context.getCipher().getRandomKey());<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        } else {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>          // This will be a wrapped key from schema<a name="line.126"></a>
+<span class="sourceLineNo">127</span>          context.setKey(EncryptionUtil.unwrapKey(conf,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>            conf.get(HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY, "hbase"),<a name="line.128"></a>
+<span class="sourceLineNo">129</span>            key));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        byte[] iv = null;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        if (context.getCipher().getIvLength() &gt; 0) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>          iv = new byte[context.getCipher().getIvLength()];<a name="line.133"></a>
+<span class="sourceLineNo">134</span>          Bytes.random(iv);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        }<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        byte[] plaintext = new byte[1024];<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        Bytes.random(plaintext);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        ByteArrayOutputStream out = new ByteArrayOutputStream();<a name="line.138"></a>
+<span class="sourceLineNo">139</span>        Encryption.encrypt(out, new ByteArrayInputStream(plaintext), context, iv);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        byte[] ciphertext = out.toByteArray();<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        out.reset();<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        Encryption.decrypt(out, new ByteArrayInputStream(ciphertext), plaintext.length,<a name="line.142"></a>
+<span class="sourceLineNo">143</span>          context, iv);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        byte[] test = out.toByteArray();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        if (!Bytes.equals(plaintext, test)) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>          throw new IOException("Did not pass encrypt/decrypt test");<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        }<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        cipherResults.put(cipher, true);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      } catch (Exception e) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        cipherResults.put(cipher, false);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        throw new IOException("Cipher " + cipher + " failed test: " + e.getMessage(), e);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      }<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    } else if (result.booleanValue() == false) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      throw new IOException("Cipher " + cipher + " previously failed test");<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>}<a name="line.157"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html b/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html
index 804d5fb..cd07094 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/util/OrderedBytes.html
@@ -349,7 +349,7 @@
 <span class="sourceLineNo">341</span><a name="line.341"></a>
 <span class="sourceLineNo">342</span>  /**<a name="line.342"></a>
 <span class="sourceLineNo">343</span>   * Perform unsigned comparison between two long values. Conforms to the same interface as<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * {@link Comparator#compare(Object, Object)}.<a name="line.344"></a>
+<span class="sourceLineNo">344</span>   * {@link org.apache.hadoop.hbase.CellComparator#COMPARATOR#compare(Object, Object)}.<a name="line.344"></a>
 <span class="sourceLineNo">345</span>   */<a name="line.345"></a>
 <span class="sourceLineNo">346</span>  private static int unsignedCmp(long x1, long x2) {<a name="line.346"></a>
 <span class="sourceLineNo">347</span>    int cmp;<a name="line.347"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html b/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html
index 1fc3f98..dae63a9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/util/Pair.html
@@ -72,7 +72,7 @@
 <span class="sourceLineNo">064</span>   * @return a new pair containing the passed arguments<a name="line.64"></a>
 <span class="sourceLineNo">065</span>   */<a name="line.65"></a>
 <span class="sourceLineNo">066</span>  public static &lt;T1,T2&gt; Pair&lt;T1,T2&gt; newPair(T1 a, T2 b) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    return new Pair&lt;T1,T2&gt;(a, b);<a name="line.67"></a>
+<span class="sourceLineNo">067</span>    return new Pair&lt;&gt;(a, b);<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>  /**<a name="line.70"></a>


[18/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
index c248583..cf497d3 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Scan.html
@@ -151,779 +151,779 @@
 <span class="sourceLineNo">143</span>  private long maxResultSize = -1;<a name="line.143"></a>
 <span class="sourceLineNo">144</span>  private boolean cacheBlocks = true;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>  private boolean reversed = false;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  private Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; familyMap =<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      new TreeMap&lt;byte[], NavigableSet&lt;byte[]&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private Boolean asyncPrefetch = null;<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Parameter name for client scanner sync/async prefetch toggle.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * When using async scanner, prefetching data from the server is done at the background.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * The parameter currently won't have any effect in the case that the user has set<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * Scan#setSmall or Scan#setReversed<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   */<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public static final String HBASE_CLIENT_SCANNER_ASYNC_PREFETCH =<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      "hbase.client.scanner.async.prefetch";<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>   * Default value of {@link #HBASE_CLIENT_SCANNER_ASYNC_PREFETCH}.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public static final boolean DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH = false;<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * Set it true for small scan to get better performance Small scan should use pread and big scan<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * can use seek + read seek + read is fast but can cause two problem (1) resource contention (2)<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * cause too much network io [89-fb] Using pread for non-compaction read request<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * https://issues.apache.org/jira/browse/HBASE-7266 On the other hand, if setting it true, we<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * would do openScanner,next,closeScanner in one RPC call. It means the better performance for<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * small scan. [HBASE-9488]. Generally, if the scan range is within one data block(64KB), it could<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * be considered as a small scan.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   */<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  private boolean small = false;<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>  /**<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * The mvcc read point to use when open a scanner. Remember to clear it after switching regions as<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * the mvcc is only valid within region scope.<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   */<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  private long mvccReadPoint = -1L;<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>   * The number of rows we want for this scan. We will terminate the scan if the number of return<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * rows reaches this value.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private int limit = -1;<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>   * Control whether to use pread at server side.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private ReadType readType = ReadType.DEFAULT;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * Create a Scan operation across all rows.<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   */<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public Scan() {}<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>  /**<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * @deprecated use {@code new Scan().withStartRow(startRow).setFilter(filter)} instead.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  @Deprecated<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  public Scan(byte[] startRow, Filter filter) {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    this(startRow);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    this.filter = filter;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<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>   * Create a Scan operation starting at the specified row.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * &lt;p&gt;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * specified row.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param startRow row to start scanner at or after<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @deprecated use {@code new Scan().withStartRow(startRow)} instead.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  @Deprecated<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public Scan(byte[] startRow) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    setStartRow(startRow);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<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>   * Create a Scan operation for the range of rows specified.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   * @param startRow row to start scanner at or after (inclusive)<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param stopRow row to stop scanner before (exclusive)<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * @deprecated use {@code new Scan().withStartRow(startRow).withStopRow(stopRow)} instead.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   */<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  @Deprecated<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  public Scan(byte[] startRow, byte[] stopRow) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    setStartRow(startRow);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    setStopRow(stopRow);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  /**<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * Creates a new instance of this class while copying all values.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   *<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * @param scan  The scan instance to copy from.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * @throws IOException When copying the values fails.<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  public Scan(Scan scan) throws IOException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    startRow = scan.getStartRow();<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    includeStartRow = scan.includeStartRow();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    stopRow  = scan.getStopRow();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    includeStopRow = scan.includeStopRow();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    maxVersions = scan.getMaxVersions();<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    batch = scan.getBatch();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    storeLimit = scan.getMaxResultsPerColumnFamily();<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    storeOffset = scan.getRowOffsetPerColumnFamily();<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    caching = scan.getCaching();<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    maxResultSize = scan.getMaxResultSize();<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    cacheBlocks = scan.getCacheBlocks();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    filter = scan.getFilter(); // clone?<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    consistency = scan.getConsistency();<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    this.setIsolationLevel(scan.getIsolationLevel());<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    reversed = scan.isReversed();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    small = scan.isSmall();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    tr = scan.getTimeRange(); // TimeRange is immutable<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      byte [] fam = entry.getKey();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        for (byte[] col : cols) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>          addColumn(fam, col);<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>        addFamily(fam);<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>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      TimeRange tr = entry.getValue();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    this.mvccReadPoint = scan.getMvccReadPoint();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    this.limit = scan.getLimit();<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>  /**<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * Builds a scan object with the same specs as get.<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param get get to model scan after<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public Scan(Get get) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    this.startRow = get.getRow();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.includeStartRow = true;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    this.stopRow = get.getRow();<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    this.includeStopRow = true;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    this.filter = get.getFilter();<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    this.maxVersions = get.getMaxVersions();<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.tr = get.getTimeRange();<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    this.familyMap = get.getFamilyMap();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.asyncPrefetch = false;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    this.consistency = get.getConsistency();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    this.setIsolationLevel(get.getIsolationLevel());<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    this.loadColumnFamiliesOnDemand = get.getLoadColumnFamiliesOnDemandValue();<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : get.getColumnFamilyTimeRange().entrySet()) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      TimeRange tr = entry.getValue();<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    this.mvccReadPoint = -1L;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  public boolean isGetScan() {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    return includeStartRow &amp;&amp; includeStopRow &amp;&amp; areStartRowAndStopRowEqual(startRow, stopRow);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  }<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>  private static boolean areStartRowAndStopRowEqual(byte[] startRow, byte[] stopRow) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    return startRow != null &amp;&amp; startRow.length &gt; 0 &amp;&amp; Bytes.equals(startRow, stopRow);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<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>   * Get all columns from the specified family.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * &lt;p&gt;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * Overrides previous calls to addColumn for this family.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @param family family name<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @return this<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   */<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public Scan addFamily(byte [] family) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    familyMap.remove(family);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    familyMap.put(family, null);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return this;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Get the column from the specified family with the specified qualifier.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * &lt;p&gt;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * Overrides previous calls to addFamily for this family.<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param family family name<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @param qualifier column qualifier<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * @return this<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  public Scan addColumn(byte [] family, byte [] qualifier) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    if(set == null) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      set = new TreeSet&lt;byte []&gt;(Bytes.BYTES_COMPARATOR);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    }<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (qualifier == null) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    set.add(qualifier);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    familyMap.put(family, set);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return this;<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  }<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>  /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * Set versions of columns only within the specified timestamp range,<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * your time range spans more than one version and you want all versions<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * returned, up the number of versions beyond the default.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * @see #setMaxVersions()<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @see #setMaxVersions(int)<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @return this<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   */<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  @Override<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    return (Scan) super.setTimeRange(minStamp, maxStamp);<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>  /**<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * Set versions of columns only within the specified timestamp range,<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param tr Input TimeRange<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @return this for invocation chaining<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   */<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  public Scan setTimeRange(TimeRange tr) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    return (Scan) super.setTimeRange(tr);<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>  /**<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * Get versions of columns with the specified timestamp. Note, default maximum<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * versions to return is 1.  If your time range spans more than one version<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * and you want all versions returned, up the number of versions beyond the<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * defaut.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @param timestamp version timestamp<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * @see #setMaxVersions()<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * @see #setMaxVersions(int)<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @return this<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  public Scan setTimeStamp(long timestamp)<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  throws IOException {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    try {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      super.setTimeRange(timestamp, timestamp + 1);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    } catch(Exception e) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      throw e;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    return this;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  }<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>  @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public Scan setColumnFamilyTimeRange(byte[] cf, TimeRange tr) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    return (Scan) super.setColumnFamilyTimeRange(cf, tr);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  /**<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * Set the start row of the scan.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   * &lt;p&gt;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * specified row.<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * @param startRow row to start scanner at or after<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * @return this<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @deprecated use {@link #withStartRow(byte[])} instead. This method may change the inclusive of<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   *             the stop row to keep compatible with the old behavior.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  @Deprecated<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public Scan setStartRow(byte[] startRow) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    withStartRow(startRow);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (areStartRowAndStopRowEqual(startRow, stopRow)) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      this.includeStopRow = true;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    }<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return this;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  }<a name="line.429"></a>
-<span class="sourceLineNo">430</span><a name="line.430"></a>
-<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * Set the start row of the scan.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * &lt;p&gt;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   * specified row.<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @param startRow row to start scanner at or after<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @return this<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  public Scan withStartRow(byte[] startRow) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return withStartRow(startRow, true);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Set the start row of the scan.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * &lt;p&gt;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * If the specified row does not exist, or the {@code inclusive} is {@code false}, the Scanner<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * will start from the next closest row after the specified row.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * @param startRow row to start scanner at or after<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * @param inclusive whether we should include the start row when scan<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @return this<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * @throws IllegalArgumentException if startRow does not meet criteria for a row key (when length<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  public Scan withStartRow(byte[] startRow, boolean inclusive) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    if (Bytes.len(startRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      throw new IllegalArgumentException("startRow's length must be less than or equal to "<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    this.startRow = startRow;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    this.includeStartRow = inclusive;<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    return this;<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>  /**<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * Set the stop row of the scan.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * &lt;p&gt;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * &lt;p&gt;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   * &lt;/p&gt;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   * @param stopRow row to end at (exclusive)<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * @return this<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @deprecated use {@link #withStartRow(byte[])} instead. This method may change the inclusive of<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   *             the stop row to keep compatible with the old behavior.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   */<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  @Deprecated<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  public Scan setStopRow(byte[] stopRow) {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    withStopRow(stopRow);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    if (areStartRowAndStopRowEqual(startRow, stopRow)) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      // for keeping the old behavior that a scan with the same start and stop row is a get scan.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      this.includeStopRow = true;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    }<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    return this;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  }<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>   * Set the stop row of the scan.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * &lt;p&gt;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * The scan will include rows that are lexicographically less than the provided stopRow.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * &lt;p&gt;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * &lt;b&gt;Note:&lt;/b&gt; When doing a filter for a rowKey &lt;u&gt;Prefix&lt;/u&gt; use<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * {@link #setRowPrefixFilter(byte[])}. The 'trailing 0' will not yield the desired result.<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * &lt;/p&gt;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * @param stopRow row to end at (exclusive)<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   * @return this<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   */<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  public Scan withStopRow(byte[] stopRow) {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    return withStopRow(stopRow, false);<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>  /**<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * Set the stop row of the scan.<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * &lt;p&gt;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * The scan will include rows that are lexicographically less than (or equal to if<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   * {@code inclusive} is {@code true}) the provided stopRow.<a name="line.512"></a>
-<span class="sourceLineNo">513</span>   * @param stopRow row to end at<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * @param inclusive whether we should include the stop row when scan<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * @return this<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * @throws IllegalArgumentException if stopRow does not meet criteria for a row key (when length<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   *           exceeds {@link HConstants#MAX_ROW_LENGTH})<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   */<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  public Scan withStopRow(byte[] stopRow, boolean inclusive) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    if (Bytes.len(stopRow) &gt; HConstants.MAX_ROW_LENGTH) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      throw new IllegalArgumentException("stopRow's length must be less than or equal to "<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          + HConstants.MAX_ROW_LENGTH + " to meet the criteria" + " for a row key.");<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    }<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    this.stopRow = stopRow;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    this.includeStopRow = inclusive;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    return this;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * &lt;p&gt;Set a filter (using stopRow and startRow) so the result set only contains rows where the<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * rowKey starts with the specified prefix.&lt;/p&gt;<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * &lt;p&gt;This is a utility method that converts the desired rowPrefix into the appropriate values<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * for the startRow and stopRow to achieve the desired result.&lt;/p&gt;<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * &lt;p&gt;This can safely be used in combination with setFilter.&lt;/p&gt;<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * &lt;p&gt;&lt;b&gt;NOTE: Doing a {@link #setStartRow(byte[])} and/or {@link #setStopRow(byte[])}<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   * after this method will yield undefined results.&lt;/b&gt;&lt;/p&gt;<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   * @param rowPrefix the prefix all rows must start with. (Set &lt;i&gt;null&lt;/i&gt; to remove the filter.)<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   * @return this<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   */<a name="line.539"></a>
-<span class="sourceLineNo">540</span>  public Scan setRowPrefixFilter(byte[] rowPrefix) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    if (rowPrefix == null) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      setStartRow(HConstants.EMPTY_START_ROW);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      setStopRow(HConstants.EMPTY_END_ROW);<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    } else {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      this.setStartRow(rowPrefix);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      this.setStopRow(calculateTheClosestNextRowKeyForPrefix(rowPrefix));<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    return this;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>  }<a name="line.549"></a>
-<span class="sourceLineNo">550</span><a name="line.550"></a>
-<span class="sourceLineNo">551</span>  /**<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * &lt;p&gt;When scanning for a prefix the scan should stop immediately after the the last row that<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * has the specified prefix. This method calculates the closest next rowKey immediately following<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * the given rowKeyPrefix.&lt;/p&gt;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * &lt;p&gt;&lt;b&gt;IMPORTANT: This converts a rowKey&lt;u&gt;Prefix&lt;/u&gt; into a rowKey&lt;/b&gt;.&lt;/p&gt;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * &lt;p&gt;If the prefix is an 'ASCII' string put into a byte[] then this is easy because you can<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * simply increment the last byte of the array.<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * But if your application uses real binary rowids you may run into the scenario that your<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * prefix is something like:&lt;/p&gt;<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x23, 0xFF, 0xFF }&lt;/b&gt;&lt;br/&gt;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * Then this stopRow needs to be fed into the actual scan&lt;br/&gt;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;{ 0x12, 0x24 }&lt;/b&gt; (Notice that it is shorter now)&lt;br/&gt;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * This method calculates the correct stop row value for this usecase.<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   *<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * @param rowKeyPrefix the rowKey&lt;u&gt;Prefix&lt;/u&gt;.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @return the closest next rowKey immediately following the given rowKeyPrefix.<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   */<a name="line.567"></a>
-<span class="sourceLineNo">568</span>  private byte[] calculateTheClosestNextRowKeyForPrefix(byte[] rowKeyPrefix) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    // Essentially we are treating it like an 'unsigned very very long' and doing +1 manually.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    // Search for the place where the trailing 0xFFs start<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    int offset = rowKeyPrefix.length;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    while (offset &gt; 0) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      if (rowKeyPrefix[offset - 1] != (byte) 0xFF) {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        break;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      }<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      offset--;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span>    if (offset == 0) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      // We got an 0xFFFF... (only FFs) stopRow value which is<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      // the last possible prefix before the end of the table.<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      // So set it to stop at the 'end of the table'<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      return HConstants.EMPTY_END_ROW;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    }<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>    // Copy the right length of the original<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    byte[] newStopRow = Arrays.copyOfRange(rowKeyPrefix, 0, offset);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    // And increment the last one<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    newStopRow[newStopRow.length - 1]++;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    return newStopRow;<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>   * Get all available versions.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   * @return this<a name="line.595"></a>
-<span class="sourceLineNo">596</span>   */<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  public Scan setMaxVersions() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    return this;<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>   * Get up to the specified number of versions of each column.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * @param maxVersions maximum versions for each column<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * @return this<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  public Scan setMaxVersions(int maxVersions) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    this.maxVersions = maxVersions;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    return this;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>  /**<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * Set the maximum number of values to return for each call to next().<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * Callers should be aware that invoking this method with any value<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * is equivalent to calling {@link #setAllowPartialResults(boolean)}<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * with a value of {@code true}; partial results may be returned if<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * this method is called. Use {@link #setMaxResultSize(long)}} to<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * limit the size of a Scan's Results instead.<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   *<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param batch the maximum number of values<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>  public Scan setBatch(int batch) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    if (this.hasFilter() &amp;&amp; this.filter.hasFilterRow()) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      throw new IncompatibleFilterException(<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        "Cannot set batch on a scan using a filter" +<a name="line.625"></a>
-<span class="sourceLineNo">626</span>        " that returns true for filter.hasFilterRow");<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    this.batch = batch;<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    return this;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>  }<a name="line.630"></a>
-<span class="sourceLineNo">631</span><a name="line.631"></a>
-<span class="sourceLineNo">632</span>  /**<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * Set the maximum number of values to return per row per Column Family<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * @param limit the maximum number of values returned / row / CF<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   */<a name="line.635"></a>
-<span class="sourceLineNo">636</span>  public Scan setMaxResultsPerColumnFamily(int limit) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    this.storeLimit = limit;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    return this;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>  }<a name="line.639"></a>
-<span class="sourceLineNo">640</span><a name="line.640"></a>
-<span class="sourceLineNo">641</span>  /**<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * Set offset for the row per Column Family.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param offset is the number of kvs that will be skipped.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   */<a name="line.644"></a>
-<span class="sourceLineNo">645</span>  public Scan setRowOffsetPerColumnFamily(int offset) {<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    this.storeOffset = offset;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    return this;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  }<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>   * Set the number of rows for caching that will be passed to scanners.<a name="line.651"></a>
-<span class="sourceLineNo">652</span>   * If not set, the Configuration setting {@link HConstants#HBASE_CLIENT_SCANNER_CACHING} will<a name="line.652"></a>
-<span class="sourceLineNo">653</span>   * apply.<a name="line.653"></a>
-<span class="sourceLineNo">654</span>   * Higher caching values will enable faster scanners but will use more memory.<a name="line.654"></a>
-<span class="sourceLineNo">655</span>   * @param caching the number of rows for caching<a name="line.655"></a>
-<span class="sourceLineNo">656</span>   */<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  public Scan setCaching(int caching) {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    this.caching = caching;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    return this;<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>  /**<a name="line.662"></a>
-<span class="sourceLineNo">663</span>   * @return the maximum result size in bytes. See {@link #setMaxResultSize(long)}<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   */<a name="line.664"></a>
-<span class="sourceLineNo">665</span>  public long getMaxResultSize() {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    return maxResultSize;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>  }<a name="line.667"></a>
-<span class="sourceLineNo">668</span><a name="line.668"></a>
-<span class="sourceLineNo">669</span>  /**<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   * Set the maximum result size. The default is -1; this means that no specific<a name="line.670"></a>
-<span class="sourceLineNo">671</span>   * maximum result size will be set for this scan, and the global configured<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   * value will be used instead. (Defaults to unlimited).<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   *<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * @param maxResultSize The maximum result size in bytes.<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   */<a name="line.675"></a>
-<span class="sourceLineNo">676</span>  public Scan setMaxResultSize(long maxResultSize) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    this.maxResultSize = maxResultSize;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    return this;<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>  @Override<a name="line.681"></a>
-<span class="sourceLineNo">682</span>  public Scan setFilter(Filter filter) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    super.setFilter(filter);<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    return this;<a name="line.684"></a>
-<span class="sourceLineNo">685</span>  }<a name="line.685"></a>
-<span class="sourceLineNo">686</span><a name="line.686"></a>
-<span class="sourceLineNo">687</span>  /**<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * Setting the familyMap<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * @param familyMap map of family to qualifier<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * @return this<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   */<a name="line.691"></a>
-<span class="sourceLineNo">692</span>  public Scan setFamilyMap(Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap) {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    this.familyMap = familyMap;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>    return this;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>  }<a name="line.695"></a>
-<span class="sourceLineNo">696</span><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  /**<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * Getting the familyMap<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @return familyMap<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; getFamilyMap() {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    return this.familyMap;<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>   * @return the number of families in familyMap<a name="line.706"></a>
-<span class="sourceLineNo">707</span>   */<a name="line.707"></a>
-<span class="sourceLineNo">708</span>  public int numFamilies() {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    if(hasFamilies()) {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      return this.familyMap.size();<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    }<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    return 0;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>  }<a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>  /**<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * @return true if familyMap is non empty, false otherwise<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   */<a name="line.717"></a>
-<span class="sourceLineNo">718</span>  public boolean hasFamilies() {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    return !this.familyMap.isEmpty();<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  }<a name="line.720"></a>
-<span class="sourceLineNo">721</span><a name="line.721"></a>
-<span class="sourceLineNo">722</span>  /**<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   * @return the keys of the familyMap<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   */<a name="line.724"></a>
-<span class="sourceLineNo">725</span>  public byte[][] getFamilies() {<a name="line.725"></a>
-<span class="sourceLineNo">726</span>    if(hasFamilies()) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      return this.familyMap.keySet().toArray(new byte[0][0]);<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    }<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    return null;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>  }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>  /**<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   * @return the startrow<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   */<a name="line.734"></a>
-<span class="sourceLineNo">735</span>  public byte [] getStartRow() {<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    return this.startRow;<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>   * @return if we should include start row when scan<a name="line.740"></a>
-<span class="sourceLineNo">741</span>   */<a name="line.741"></a>
-<span class="sourceLineNo">742</span>  public boolean includeStartRow() {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>    return includeStartRow;<a name="line.743"></a>
-<span class="sourceLineNo">744</span>  }<a name="line.744"></a>
-<span class="sourceLineNo">745</span><a name="line.745"></a>
-<span class="sourceLineNo">746</span>  /**<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   * @return the stoprow<a name="line.747"></a>
-<span class="sourceLineNo">748</span>   */<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  public byte[] getStopRow() {<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    return this.stopRow;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>  }<a name="line.751"></a>
-<span class="sourceLineNo">752</span><a name="line.752"></a>
-<span class="sourceLineNo">753</span>  /**<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * @return if we should include stop row when scan<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   */<a name="line.755"></a>
-<span class="sourceLineNo">756</span>  public boolean includeStopRow() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>    return includeStopRow;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>  }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>  /**<a name="line.760"></a>
-<span class="sourceLineNo">761</span>   * @return the max number of versions to fetch<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  public int getMaxVersions() {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    return this.maxVersions;<a name="line.764"></a>
-<span class="sourceLineNo">765</span>  }<a name="line.765"></a>
-<span class="sourceLineNo">766</span><a name="line.766"></a>
-<span class="sourceLineNo">767</span>  /**<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * @return maximum number of values to return for a single call to next()<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   */<a name="line.769"></a>
-<span class="sourceLineNo">770</span>  public int getBatch() {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>    return this.batch;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>  }<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>  /**<a name="line.774"></a>
-<span class="sourceLineNo">775</span>   * @return maximum number of values to return per row per CF<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   */<a name="line.776"></a>
-<span class="sourceLineNo">777</span>  public int getMaxResultsPerColumnFamily() {<a name="line.777"></a>
-<span class="sourceLineNo">778</span>    return this.storeLimit;<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>   * Method for retrieving the scan's offset per row per column<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * family (#kvs to be skipped)<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * @return row offset<a name="line.784"></a>
-<span class="sourceLineNo">785</span>   */<a name="line.785"></a>
-<span class="sourceLineNo">786</span>  public int getRowOffsetPerColumnFamily() {<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    return this.storeOffset;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>  }<a name="line.788"></a>
-<span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * @return caching the number of rows fetched when calling next on a scanner<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   */<a name="line.792"></a>
-<span class="sourceLineNo">793</span>  public int getCaching() {<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    return this.caching;<a name="line.794"></a>
-<span class="sourceLineNo">795</span>  }<a name="line.795"></a>
-<span class="sourceLineNo">796</span><a name="line.796"></a>
-<span class="sourceLineNo">797</span>  /**<a name="line.797"></a>
-<span class="sourceLineNo">798</span>   * @return RowFilter<a name="line.798"></a>
-<span class="sourceLineNo">799</span>   */<a name="line.799"></a>
-<span class="sourceLineNo">800</span>  @Override<a name="line.800"></a>
-<span class="sourceLineNo">801</span>  public Filter getFilter() {<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    return filter;<a name="line.802"></a>
-<span class="sourceLineNo">803</span>  }<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span>  /**<a name="line.805"></a>
-<span class="sourceLineNo">806</span>   * @return true is a filter has been specified, false if not<a name="line.806"></a>
-<span class="sourceLineNo">807</span>   */<a name="line.807"></a>
-<span class="sourceLineNo">808</span>  public boolean hasFilter() {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    return filter != null;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>  }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>  /**<a name="line.812"></a>
-<span class="sourceLineNo">813</span>   * Set whether blocks should be cached for this Scan.<a name="line.813"></a>
-<span class="sourceLineNo">814</span>   * &lt;p&gt;<a name="line.814"></a>
-<span class="sourceLineNo">815</span>   * This is true by default.  When true, default settings of the table and<a name="line.815"></a>
-<span class="sourceLineNo">816</span>   * family are used (this will never override caching blocks if the block<a name="line.816"></a>
-<span class="sourceLineNo">817</span>   * cache is disabled for that family or entirely).<a name="line.817"></a>
-<span class="sourceLineNo">818</span>   *<a name="line.818"></a>
-<span class="sourceLineNo">819</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.819"></a>
-<span class="sourceLineNo">820</span>   * will not be cached<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   */<a name="line.821"></a>
-<span class="sourceLineNo">822</span>  public Scan setCacheBlocks(boolean cacheBlocks) {<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.cacheBlocks = cacheBlocks;<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    return this;<a name="line.824"></a>
-<span class="sourceLineNo">825</span>  }<a name="line.825"></a>
-<span class="sourceLineNo">826</span><a name="line.826"></a>
-<span class="sourceLineNo">827</span>  /**<a name="line.827"></a>
-<span class="sourceLineNo">828</span>   * Get whether blocks should be cached for this Scan.<a name="line.828"></a>
-<span class="sourceLineNo">829</span>   * @return true if default caching should be used, false if blocks should not<a name="line.829"></a>
-<span class="sourceLineNo">830</span>   * be cached<a name="line.830"></a>
-<span class="sourceLineNo">831</span>   */<a name="line.831"></a>
-<span class="sourceLineNo">832</span>  public boolean getCacheBlocks() {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    return cacheBlocks;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
-<span class="sourceLineNo">837</span>   * Set whether this scan is a reversed one<a name="line.837"></a>
-<span class="sourceLineNo">838</span>   * &lt;p&gt;<a name="line.838"></a>
-<span class="sourceLineNo">839</span>   * This is false by default which means forward(normal) scan.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   *<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * @param reversed if true, scan will be backward order<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   * @return this<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   */<a name="line.843"></a>
-<span class="sourceLineNo">844</span>  public Scan setReversed(boolean reversed) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    this.reversed = reversed;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return this;<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>   * Get whether this scan is a reversed one.<a name="line.850"></a>
-<span class="sourceLineNo">851</span>   * @return true if backward scan, false if forward(default) scan<a name="line.851"></a>
-<span class="sourceLineNo">852</span>   */<a name="line.852"></a>
-<span class="sourceLineNo">853</span>  public boolean isReversed() {<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    return reversed;<a name="line.854"></a>
-<span class="sourceLineNo">855</span>  }<a name="line.855"></a>
-<span class="sourceLineNo">856</span><a name="line.856"></a>
-<span class="sourceLineNo">857</span>  /**<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   * Setting whether the caller wants to see the partial results that may be returned from the<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   * server. By default this value is false and the complete results will be assembled client side<a name="line.859"></a>
-<span class="sourceLineNo">860</span>   * before being delivered to the caller.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>   * @param allowPartialResults<a name="line.861"></a>
-<span class="sourceLineNo">862</span>   * @return this<a name="line.862"></a>
-<span class="sourceLineNo">863</span>   */<a name="line.863"></a>
-<span class="sourceLineNo">864</span>  public Scan setAllowPartialResults(final boolean allowPartialResults) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    this.allowPartialResults = allowPartialResults;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return this;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  /**<a name="line.869"></a>
-<span class="sourceLineNo">870</span>   * @return true when the constructor of this scan understands that the results they will see may<a name="line.870"></a>
-<span class="sourceLineNo">871</span>   *         only represent a partial portion of a row. The entire row would be retrieved by<a name="line.871"></a>
-<span class="sourceLineNo">872</span>   *         subsequent calls to {@link ResultScanner#next()}<a name="line.872"></a>
-<span class="sourceLineNo">873</span>   */<a name="line.873"></a>
-<span class="sourceLineNo">874</span>  public boolean getAllowPartialResults() {<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    return allowPartialResults;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>  }<a name="line.876"></a>
-<span class="sourceLineNo">877</span><a name="line.877"></a>
-<span class="sourceLineNo">878</span>  public Scan setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    return (Scan) super.setLoadColumnFamiliesOnDemand(value);<a name="line.879"></a>
-<span class="sourceLineNo">880</span>  }<a name="line.880"></a>
-<span class="sourceLineNo">881</span><a name="line.881"></a>
-<span class="sourceLineNo">882</span>  /**<a name="line.882"></a>
-<span class="sourceLineNo">883</span>   * Compile the table and column family (i.e. schema) information<a name="line.883"></a>
-<span class="sourceLineNo">884</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.884"></a>
-<span class="sourceLineNo">885</span>   * logging, and administration tools.<a name="line.885"></a>
-<span class="sourceLineNo">886</span>   * @return Map<a name="line.886"></a>
-<span class="sourceLineNo">887</span>   */<a name="line.887"></a>
-<span class="sourceLineNo">888</span>  @Override<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    List&lt;String&gt; families = new ArrayList&lt;String&gt;();<a name="line.891"></a>
-<span class="sourceLineNo">892</span>    if(this.familyMap.isEmpty()) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      map.put("families", "ALL");<a name="line.893"></a>
-<span class="sourceLineNo">894</span>      return map;<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    } else {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      map.put("families", families);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    }<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.898"></a>
-<span class="sourceLineNo">899</span>        this.familyMap.entrySet()) {<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    return map;<a name="line.902"></a>
-<span class="sourceLineNo">903</span>  }<a name="line.903"></a>
-<span class="sourceLineNo">904</span><a name="line.904"></a>
-<span class="sourceLineNo">905</span>  /**<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.906"></a>
-<span class="sourceLineNo">907</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.907"></a>
-<span class="sourceLineNo">908</span>   * Useful for debugging, logging, and administration tools.<a name="line.908"></a>
-<span class="sourceLineNo">909</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.909"></a>
-<span class="sourceLineNo">910</span>   * @return Map<a name="line.910"></a>
-<span class="sourceLineNo">911</span>   */<a name="line.911"></a>
-<span class="sourceLineNo">912</span>  @Override<a name="line.912"></a>
-<span class="sourceLineNo">913</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    // start with the fingerpring map and build on top of it<a name="line.914"></a>
-<span class="sourceLineNo">915</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.915"></a>
-<span class="sourceLineNo">916</span>    // map from families to column list replaces fingerprint's list of families<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    Map&lt;String, List&lt;String&gt;&gt; familyColumns =<a name="line.917"></a>
-<span class="sourceLineNo">918</span>      new HashMap&lt;String, List&lt;String&gt;&gt;();<a name="line.918"></a>
+<span class="sourceLineNo">146</span>  private Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; familyMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  private Boolean asyncPrefetch = null;<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  /**<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * Parameter name for client scanner sync/async prefetch toggle.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * When using async scanner, prefetching data from the server is done at the background.<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * The parameter currently won't have any effect in the case that the user has set<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   * Scan#setSmall or Scan#setReversed<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  public static final String HBASE_CLIENT_SCANNER_ASYNC_PREFETCH =<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      "hbase.client.scanner.async.prefetch";<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>   * Default value of {@link #HBASE_CLIENT_SCANNER_ASYNC_PREFETCH}.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static final boolean DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH = false;<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>  /**<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * Set it true for small scan to get better performance Small scan should use pread and big scan<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * can use seek + read seek + read is fast but can cause two problem (1) resource contention (2)<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * cause too much network io [89-fb] Using pread for non-compaction read request<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   * https://issues.apache.org/jira/browse/HBASE-7266 On the other hand, if setting it true, we<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   * would do openScanner,next,closeScanner in one RPC call. It means the better performance for<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   * small scan. [HBASE-9488]. Generally, if the scan range is within one data block(64KB), it could<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   * be considered as a small scan.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  private boolean small = false;<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>   * The mvcc read point to use when open a scanner. Remember to clear it after switching regions as<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * the mvcc is only valid within region scope.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  private long mvccReadPoint = -1L;<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>   * The number of rows we want for this scan. We will terminate the scan if the number of return<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * rows reaches this value.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  private int limit = -1;<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>   * Control whether to use pread at server side.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  private ReadType readType = ReadType.DEFAULT;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * Create a Scan operation across all rows.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   */<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  public Scan() {}<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>   * @deprecated use {@code new Scan().withStartRow(startRow).setFilter(filter)} instead.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  @Deprecated<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  public Scan(byte[] startRow, Filter filter) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    this(startRow);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    this.filter = filter;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>  /**<a name="line.204"></a>
+<span class="sourceLineNo">205</span>   * Create a Scan operation starting at the specified row.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * &lt;p&gt;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * If the specified row does not exist, the Scanner will start from the next closest row after the<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * specified row.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @param startRow row to start scanner at or after<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * @deprecated use {@code new Scan().withStartRow(startRow)} instead.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   */<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  @Deprecated<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  public Scan(byte[] startRow) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    setStartRow(startRow);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>  }<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>  /**<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * Create a Scan operation for the range of rows specified.<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   * @param startRow row to start scanner at or after (inclusive)<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   * @param stopRow row to stop scanner before (exclusive)<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   * @deprecated use {@code new Scan().withStartRow(startRow).withStopRow(stopRow)} instead.<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  @Deprecated<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  public Scan(byte[] startRow, byte[] stopRow) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    setStartRow(startRow);<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    setStopRow(stopRow);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * Creates a new instance of this class while copying all values.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   *<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * @param scan  The scan instance to copy from.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * @throws IOException When copying the values fails.<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  public Scan(Scan scan) throws IOException {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    startRow = scan.getStartRow();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    includeStartRow = scan.includeStartRow();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    stopRow  = scan.getStopRow();<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    includeStopRow = scan.includeStopRow();<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    maxVersions = scan.getMaxVersions();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    batch = scan.getBatch();<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    storeLimit = scan.getMaxResultsPerColumnFamily();<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    storeOffset = scan.getRowOffsetPerColumnFamily();<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    caching = scan.getCaching();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    maxResultSize = scan.getMaxResultSize();<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    cacheBlocks = scan.getCacheBlocks();<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    filter = scan.getFilter(); // clone?<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    loadColumnFamiliesOnDemand = scan.getLoadColumnFamiliesOnDemandValue();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    consistency = scan.getConsistency();<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    this.setIsolationLevel(scan.getIsolationLevel());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    reversed = scan.isReversed();<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    asyncPrefetch = scan.isAsyncPrefetch();<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    small = scan.isSmall();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    allowPartialResults = scan.getAllowPartialResults();<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    tr = scan.getTimeRange(); // TimeRange is immutable<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    Map&lt;byte[], NavigableSet&lt;byte[]&gt;&gt; fams = scan.getFamilyMap();<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    for (Map.Entry&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; entry : fams.entrySet()) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      byte [] fam = entry.getKey();<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      NavigableSet&lt;byte[]&gt; cols = entry.getValue();<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      if (cols != null &amp;&amp; cols.size() &gt; 0) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        for (byte[] col : cols) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>          addColumn(fam, col);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      } else {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        addFamily(fam);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      }<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    }<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    for (Map.Entry&lt;String, byte[]&gt; attr : scan.getAttributesMap().entrySet()) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      setAttribute(attr.getKey(), attr.getValue());<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    }<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    for (Map.Entry&lt;byte[], TimeRange&gt; entry : scan.getColumnFamilyTimeRange().entrySet()) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      TimeRange tr = entry.getValue();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      setColumnFamilyTimeRange(entry.getKey(), tr.getMin(), tr.getMax());<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    this.mvccReadPoint = scan.getMvccReadPoint();<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    this.limit = scan.getLimit();<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  }<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>   * Builds a scan object with the same specs as get.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @param get get to model scan after<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   */<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public Scan(Get get) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    this.startRow = get.getRow();<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    this.includeStartRow = true;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    this.stopRow = get.getRow();<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    this.includeStopRow = true;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    this.filter = get.getFilter();<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    this.cacheBlocks = get.getCacheBlocks();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    this.maxVersions = get.getMaxVersions();<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    this.storeLimit = get.getMaxResultsPerColumnFamily();<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    this.storeOffset = get.getRowOffsetPerColumnFamily();<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    this.tr = get.getTimeRange();<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    this.familyMap = get.getFamilyMap();<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    this.asyncPrefetch = false;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    this.consistency = get.getConsistency();<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    this.setIsolationLevel(get.getIsolationLevel());<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    this.loadColumnFamiliesOnDemand = get.getLoadColumnFamiliesOnDemandValue();<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    for (Map.Entry&lt;String, byte[]&gt; attr : get.getAttributesMap().entrySet()) {<a name="line.299"></a>
+<span class="s

<TRUNCATED>

[10/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
index a8ad4e5..4d16641 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
@@ -108,437 +108,437 @@
 <span class="sourceLineNo">100</span>import com.google.common.collect.Multimap;<a name="line.100"></a>
 <span class="sourceLineNo">101</span>import com.google.common.collect.Multimaps;<a name="line.101"></a>
 <span class="sourceLineNo">102</span>import com.google.common.util.concurrent.ThreadFactoryBuilder;<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> * Tool to load the output of HFileOutputFormat into an existing table.<a name="line.105"></a>
-<span class="sourceLineNo">106</span> */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>@InterfaceAudience.Public<a name="line.107"></a>
-<span class="sourceLineNo">108</span>@InterfaceStability.Stable<a name="line.108"></a>
-<span class="sourceLineNo">109</span>public class LoadIncrementalHFiles extends Configured implements Tool {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  private static final Log LOG = LogFactory.getLog(LoadIncrementalHFiles.class);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  private boolean initalized = false;<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public static final String NAME = "completebulkload";<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  static final String RETRY_ON_IO_EXCEPTION = "hbase.bulkload.retries.retryOnIOException";<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public static final String MAX_FILES_PER_REGION_PER_FAMILY<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    = "hbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily";<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  private static final String ASSIGN_SEQ_IDS = "hbase.mapreduce.bulkload.assign.sequenceNumbers";<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public final static String CREATE_TABLE_CONF_KEY = "create.table";<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public final static String SILENCE_CONF_KEY = "ignore.unmatched.families";<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public final static String ALWAYS_COPY_FILES = "always.copy.files";<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  // We use a '.' prefix which is ignored when walking directory trees<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  // above. It is invalid family name.<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  final static String TMP_DIR = ".tmp";<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private int maxFilesPerRegionPerFamily;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  private boolean assignSeqIds;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  private Set&lt;String&gt; unmatchedFamilies = new HashSet&lt;String&gt;();<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>  // Source filesystem<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  private FileSystem fs;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  // Source delegation token<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  private FsDelegationToken fsDelegationToken;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  private String bulkToken;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private UserProvider userProvider;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private int nrThreads;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private RpcControllerFactory rpcControllerFactory;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private AtomicInteger numRetries;<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  private Map&lt;LoadQueueItem, ByteBuffer&gt; retValue = null;<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public LoadIncrementalHFiles(Configuration conf) throws Exception {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    super(conf);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    this.rpcControllerFactory = new RpcControllerFactory(conf);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    initialize();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private void initialize() throws Exception {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    if (initalized) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      return;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    // make a copy, just to be sure we're not overriding someone else's config<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    setConf(HBaseConfiguration.create(getConf()));<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    Configuration conf = getConf();<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    // disable blockcache for tool invocation, see HBASE-10500<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    conf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0);<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    this.fsDelegationToken = new FsDelegationToken(userProvider, "renewer");<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    assignSeqIds = conf.getBoolean(ASSIGN_SEQ_IDS, true);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    maxFilesPerRegionPerFamily = conf.getInt(MAX_FILES_PER_REGION_PER_FAMILY, 32);<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    nrThreads = conf.getInt("hbase.loadincremental.threads.max",<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      Runtime.getRuntime().availableProcessors());<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    initalized = true;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    numRetries = new AtomicInteger(1);<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>  private void usage() {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    System.err.println("usage: " + NAME + " /path/to/hfileoutputformat-output tablename" + "\n -D"<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        + CREATE_TABLE_CONF_KEY + "=no - can be used to avoid creation of table by this tool\n"<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        + "  Note: if you set this to 'no', then the target table must already exist in HBase\n -D"<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        + SILENCE_CONF_KEY + "=yes - can be used to ignore unmatched column families\n"<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        + "\n");<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>  private interface BulkHFileVisitor&lt;TFamily&gt; {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    TFamily bulkFamily(final byte[] familyName)<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      throws IOException;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    void bulkHFile(final TFamily family, final FileStatus hfileStatus)<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      throws IOException;<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>  /**<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * Iterate over the bulkDir hfiles.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * Skip reference, HFileLink, files starting with "_" and non-valid hfiles.<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  private static &lt;TFamily&gt; void visitBulkHFiles(final FileSystem fs, final Path bulkDir,<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    final BulkHFileVisitor&lt;TFamily&gt; visitor) throws IOException {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    visitBulkHFiles(fs, bulkDir, visitor, true);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<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>   * Iterate over the bulkDir hfiles.<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * Skip reference, HFileLink, files starting with "_".<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * Check and skip non-valid hfiles by default, or skip this validation by setting<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * 'hbase.loadincremental.validate.hfile' to false.<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static &lt;TFamily&gt; void visitBulkHFiles(final FileSystem fs, final Path bulkDir,<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    final BulkHFileVisitor&lt;TFamily&gt; visitor, final boolean validateHFile) throws IOException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    if (!fs.exists(bulkDir)) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      throw new FileNotFoundException("Bulkload dir " + bulkDir + " not found");<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>    FileStatus[] familyDirStatuses = fs.listStatus(bulkDir);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    if (familyDirStatuses == null) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      throw new FileNotFoundException("No families found in " + bulkDir);<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>    for (FileStatus familyStat : familyDirStatuses) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      if (!familyStat.isDirectory()) {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        LOG.warn("Skipping non-directory " + familyStat.getPath());<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        continue;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      Path familyDir = familyStat.getPath();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      byte[] familyName = familyDir.getName().getBytes();<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      // Skip invalid family<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      try {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        HColumnDescriptor.isLegalFamilyName(familyName);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      catch (IllegalArgumentException e) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        LOG.warn("Skipping invalid " + familyStat.getPath());<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        continue;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      TFamily family = visitor.bulkFamily(familyName);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>      FileStatus[] hfileStatuses = fs.listStatus(familyDir);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      for (FileStatus hfileStatus : hfileStatuses) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        if (!fs.isFile(hfileStatus.getPath())) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          LOG.warn("Skipping non-file " + hfileStatus);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>          continue;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>        Path hfile = hfileStatus.getPath();<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        // Skip "_", reference, HFileLink<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        String fileName = hfile.getName();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        if (fileName.startsWith("_")) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>          continue;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        if (StoreFileInfo.isReference(fileName)) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>          LOG.warn("Skipping reference " + fileName);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>          continue;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        }<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        if (HFileLink.isHFileLink(fileName)) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>          LOG.warn("Skipping HFileLink " + fileName);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>          continue;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        }<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>        // Validate HFile Format if needed<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        if (validateHFile) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>          try {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>            if (!HFile.isHFileFormat(fs, hfile)) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>              LOG.warn("the file " + hfile + " doesn't seems to be an hfile. skipping");<a name="line.251"></a>
-<span class="sourceLineNo">252</span>              continue;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>          } catch (FileNotFoundException e) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>            LOG.warn("the file " + hfile + " was removed");<a name="line.255"></a>
-<span class="sourceLineNo">256</span>            continue;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>          }<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>        visitor.bulkHFile(family, hfileStatus);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * Represents an HFile waiting to be loaded. An queue is used<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   * in this class in order to support the case where a region has<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   * split during the process of the load. When this happens,<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * the HFile is split into two physical parts across the new<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * region boundary, and each part is added back into the queue.<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * The import process finishes when the queue is empty.<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  public static class LoadQueueItem {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    final byte[] family;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    final Path hfilePath;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    public LoadQueueItem(byte[] family, Path hfilePath) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.family = family;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      this.hfilePath = hfilePath;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    @Override<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    public String toString() {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      return "family:"+ Bytes.toString(family) + " path:" + hfilePath.toString();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<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>  /*<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   * Populate the Queue with given HFiles<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  private void populateLoadQueue(final Deque&lt;LoadQueueItem&gt; ret,<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      Map&lt;byte[], List&lt;Path&gt;&gt; map) throws IOException {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    for (Map.Entry&lt;byte[], List&lt;Path&gt;&gt; entry : map.entrySet()) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      for (Path p : entry.getValue()) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        ret.add(new LoadQueueItem(entry.getKey(), p));<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  }<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">301</span>   * Walk the given directory for all HFiles, and return a Queue<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * containing all such files.<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   */<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private void discoverLoadQueue(final Deque&lt;LoadQueueItem&gt; ret, final Path hfofDir,<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      final boolean validateHFile) throws IOException {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    fs = hfofDir.getFileSystem(getConf());<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    visitBulkHFiles(fs, hfofDir, new BulkHFileVisitor&lt;byte[]&gt;() {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      @Override<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      public byte[] bulkFamily(final byte[] familyName) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        return familyName;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      @Override<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      public void bulkHFile(final byte[] family, final FileStatus hfile) throws IOException {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        long length = hfile.getLen();<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        if (length &gt; getConf().getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.315"></a>
-<span class="sourceLineNo">316</span>            HConstants.DEFAULT_MAX_FILE_SIZE)) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>          LOG.warn("Trying to bulk load hfile " + hfile.getPath() + " with size: " +<a name="line.317"></a>
-<span class="sourceLineNo">318</span>              length + " bytes can be problematic as it may lead to oversplitting.");<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        }<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        ret.add(new LoadQueueItem(family, hfile.getPath()));<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      }<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    }, validateHFile);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * Perform a bulk load of the given directory into the given<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * pre-existing table.  This method is not threadsafe.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   *<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * @param hfofDir the directory that was provided as the output path<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   *   of a job using HFileOutputFormat<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param admin the Admin<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @param table the table to load into<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @param regionLocator region locator<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @throws TableNotFoundException if table does not yet exist<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   */<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public void doBulkLoad(Path hfofDir, final Admin admin, Table table,<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      RegionLocator regionLocator) throws TableNotFoundException, IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    doBulkLoad(hfofDir, admin, table, regionLocator, false, false);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  void cleanup(Admin admin, Deque&lt;LoadQueueItem&gt; queue, ExecutorService pool,<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      SecureBulkLoadClient secureClient) throws IOException {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    fsDelegationToken.releaseDelegationToken();<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (bulkToken != null &amp;&amp; secureClient != null) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      secureClient.cleanupBulkLoad(admin.getConnection(), bulkToken);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    if (pool != null) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      pool.shutdown();<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    }<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    if (!queue.isEmpty()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      StringBuilder err = new StringBuilder();<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      err.append("-------------------------------------------------\n");<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      err.append("Bulk load aborted with some files not yet loaded:\n");<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      err.append("-------------------------------------------------\n");<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      for (LoadQueueItem q : queue) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        err.append("  ").append(q.hfilePath).append('\n');<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      LOG.error(err);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  /**<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * Perform a bulk load of the given directory into the given<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * pre-existing table.  This method is not threadsafe.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   *<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @param map map of family to List of hfiles<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @param admin the Admin<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * @param table the table to load into<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param regionLocator region locator<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param silence true to ignore unmatched column families<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param copyFile always copy hfiles if true<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @throws TableNotFoundException if table does not yet exist<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   */<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  public void doBulkLoad(Map&lt;byte[], List&lt;Path&gt;&gt; map, final Admin admin,<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      Table table, RegionLocator regionLocator, boolean silence, boolean copyFile)<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          throws TableNotFoundException, IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (!admin.isTableAvailable(regionLocator.getName())) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      throw new TableNotFoundException("Table " + table.getName() + " is not currently available.");<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    // LQI queue does not need to be threadsafe -- all operations on this queue<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // happen in this thread<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    Deque&lt;LoadQueueItem&gt; queue = new LinkedList&lt;&gt;();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    ExecutorService pool = null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    SecureBulkLoadClient secureClient = null;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    try {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      prepareHFileQueue(map, table, queue, silence);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      if (queue.isEmpty()) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        LOG.warn("Bulk load operation did not get any files to load");<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        return;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      pool = createExecutorService();<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      secureClient = new SecureBulkLoadClient(table.getConfiguration(), table);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      for (Map.Entry&lt;byte[], List&lt;Path&gt;&gt; entry : map.entrySet()) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        for (Path p : entry.getValue()) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>          fs = p.getFileSystem(table.getConfiguration());<a name="line.394"></a>
-<span class="sourceLineNo">395</span>          break;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>        }<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      }<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      retValue = performBulkLoad(admin, table, regionLocator, queue, pool, secureClient, copyFile);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    } finally {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      cleanup(admin, queue, pool, secureClient);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    }<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  /**<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * Perform a bulk load of the given directory into the given<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * pre-existing table.  This method is not threadsafe.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @param hfofDir the directory that was provided as the output path<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   *   of a job using HFileOutputFormat<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * @param admin the Admin<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   * @param table the table to load into<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * @param regionLocator region locator<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * @param silence true to ignore unmatched column families<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * @param copyFile always copy hfiles if true<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * @throws TableNotFoundException if table does not yet exist<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   */<a name="line.416"></a>
-<span class="sourceLineNo">417</span>  public void doBulkLoad(Path hfofDir, final Admin admin, Table table,<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      RegionLocator regionLocator, boolean silence, boolean copyFile)<a name="line.418"></a>
-<span class="sourceLineNo">419</span>          throws TableNotFoundException, IOException {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    if (!admin.isTableAvailable(regionLocator.getName())) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      throw new TableNotFoundException("Table " + table.getName() + " is not currently available.");<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>    /*<a name="line.424"></a>
-<span class="sourceLineNo">425</span>     * Checking hfile format is a time-consuming operation, we should have an option to skip<a name="line.425"></a>
-<span class="sourceLineNo">426</span>     * this step when bulkloading millions of HFiles. See HBASE-13985.<a name="line.426"></a>
-<span class="sourceLineNo">427</span>     */<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    boolean validateHFile = getConf().getBoolean("hbase.loadincremental.validate.hfile", true);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    if (!validateHFile) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      LOG.warn("You are skipping HFiles validation, it might cause some data loss if files " +<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          "are not correct. If you fail to read data from your table after using this " +<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          "option, consider removing the files and bulkload again without this option. " +<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          "See HBASE-13985");<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    }<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    // LQI queue does not need to be threadsafe -- all operations on this queue<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    // happen in this thread<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    Deque&lt;LoadQueueItem&gt; queue = new LinkedList&lt;&gt;();<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    ExecutorService pool = null;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    SecureBulkLoadClient secureClient = null;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    try {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      prepareHFileQueue(hfofDir, table, queue, validateHFile, silence);<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>      if (queue.isEmpty()) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        LOG.warn("Bulk load operation did not find any files to load in " +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>            "directory " + hfofDir != null ? hfofDir.toUri() : "" + ".  Does it contain files in " +<a name="line.445"></a>
-<span class="sourceLineNo">446</span>            "subdirectories that correspond to column family names?");<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        return;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      pool = createExecutorService();<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      secureClient = new SecureBulkLoadClient(table.getConfiguration(), table);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      retValue = performBulkLoad(admin, table, regionLocator, queue, pool, secureClient, copyFile);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    } finally {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      cleanup(admin, queue, pool, secureClient);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span>  }<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>  Map&lt;LoadQueueItem, ByteBuffer&gt; performBulkLoad(final Admin admin, Table table,<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      RegionLocator regionLocator, Deque&lt;LoadQueueItem&gt; queue, ExecutorService pool,<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      SecureBulkLoadClient secureClient, boolean copyFile) throws IOException {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    int count = 0;<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>    if(isSecureBulkLoadEndpointAvailable()) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      LOG.warn("SecureBulkLoadEndpoint is deprecated. It will be removed in future releases.");<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      LOG.warn("Secure bulk load has been integrated into HBase core.");<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    //If using secure bulk load, get source delegation token, and<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    //prepare staging directory and token<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    // fs is the source filesystem<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    fsDelegationToken.acquireDelegationToken(fs);<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    bulkToken = secureClient.prepareBulkLoad(admin.getConnection());<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    Pair&lt;Multimap&lt;ByteBuffer, LoadQueueItem&gt;, Set&lt;String&gt;&gt; pair = null;<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>    Map&lt;LoadQueueItem, ByteBuffer&gt; item2RegionMap = new HashMap&lt;&gt;();<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    // Assumes that region splits can happen while this occurs.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    while (!queue.isEmpty()) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      // need to reload split keys each iteration.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      final Pair&lt;byte[][], byte[][]&gt; startEndKeys = regionLocator.getStartEndKeys();<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (count != 0) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.info("Split occurred while grouping HFiles, retry attempt " +<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + count + " with " + queue.size() + " files remaining to group or split");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
-<span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      int maxRetries = getConf().getInt(HConstants.BULKLOAD_MAX_RETRIES_NUMBER, 10);<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      maxRetries = Math.max(maxRetries, startEndKeys.getFirst().length + 1);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      if (maxRetries != 0 &amp;&amp; count &gt;= maxRetries) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>        throw new IOException("Retry attempted " + count +<a name="line.487"></a>
-<span class="sourceLineNo">488</span>            " times without completing, bailing out");<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      count++;<a name="line.490"></a>
-<span class="sourceLineNo">491</span><a name="line.491"></a>
-<span class="sourceLineNo">492</span>      // Using ByteBuffer for byte[] equality semantics<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      pair = groupOrSplitPhase(table, pool, queue, startEndKeys);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      Multimap&lt;ByteBuffer, LoadQueueItem&gt; regionGroups = pair.getFirst();<a name="line.494"></a>
-<span class="sourceLineNo">495</span><a name="line.495"></a>
-<span class="sourceLineNo">496</span>      if (!checkHFilesCountPerRegionPerFamily(regionGroups)) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        // Error is logged inside checkHFilesCountPerRegionPerFamily.<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        throw new IOException("Trying to load more than " + maxFilesPerRegionPerFamily<a name="line.498"></a>
-<span class="sourceLineNo">499</span>            + " hfiles to one family of one region");<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>      bulkLoadPhase(table, admin.getConnection(), pool, queue, regionGroups, copyFile,<a name="line.502"></a>
-<span class="sourceLineNo">503</span>          item2RegionMap);<a name="line.503"></a>
-<span class="sourceLineNo">504</span><a name="line.504"></a>
-<span class="sourceLineNo">505</span>      // NOTE: The next iteration's split / group could happen in parallel to<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      // atomic bulkloads assuming that there are splits and no merges, and<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      // that we can atomically pull out the groups we want to retry.<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>    if (!queue.isEmpty()) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      throw new RuntimeException("Bulk load aborted with some files not yet loaded."<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        + "Please check log for more details.");<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    return item2RegionMap;<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>  protected ClientServiceCallable&lt;byte[]&gt; buildClientServiceCallable(final Connection conn,<a name="line.517"></a>
-<span class="sourceLineNo">518</span>      TableName tableName, byte[] first, Collection&lt;LoadQueueItem&gt; lqis, boolean copyFile) {<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>    final List&lt;Pair&lt;byte[], String&gt;&gt; famPaths = new ArrayList&lt;&gt;(lqis.size());<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    for (LoadQueueItem lqi : lqis) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        famPaths.add(Pair.newPair(lqi.family, lqi.hfilePath.toString()));<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>    return new ClientServiceCallable&lt;byte[]&gt;(conn,<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        tableName, first, rpcControllerFactory.newController()) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      @Override<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      protected byte[] rpcCall() throws Exception {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>        SecureBulkLoadClient secureClient = null;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        boolean success = false;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        try {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>          LOG.debug("Going to connect to server " + getLocation() + " for row "<a name="line.532"></a>
-<span class="sourceLineNo">533</span>              + Bytes.toStringBinary(getRow()) + " with hfile group " + famPaths);<a name="line.533"></a>
+<span class="sourceLineNo">103</span>/**<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * Tool to load the output of HFileOutputFormat into an existing table.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>@InterfaceAudience.Public<a name="line.106"></a>
+<span class="sourceLineNo">107</span>@InterfaceStability.Stable<a name="line.107"></a>
+<span class="sourceLineNo">108</span>public class LoadIncrementalHFiles extends Configured implements Tool {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  private static final Log LOG = LogFactory.getLog(LoadIncrementalHFiles.class);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  private boolean initalized = false;<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>  public static final String NAME = "completebulkload";<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  static final String RETRY_ON_IO_EXCEPTION = "hbase.bulkload.retries.retryOnIOException";<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public static final String MAX_FILES_PER_REGION_PER_FAMILY<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    = "hbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily";<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  private static final String ASSIGN_SEQ_IDS = "hbase.mapreduce.bulkload.assign.sequenceNumbers";<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public final static String CREATE_TABLE_CONF_KEY = "create.table";<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public final static String IGNORE_UNMATCHED_CF_CONF_KEY = "ignore.unmatched.families";<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  public final static String ALWAYS_COPY_FILES = "always.copy.files";<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  // We use a '.' prefix which is ignored when walking directory trees<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  // above. It is invalid family name.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  final static String TMP_DIR = ".tmp";<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>  private int maxFilesPerRegionPerFamily;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  private boolean assignSeqIds;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  private Set&lt;String&gt; unmatchedFamilies = new HashSet&lt;&gt;();<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  // Source filesystem<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  private FileSystem fs;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  // Source delegation token<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  private FsDelegationToken fsDelegationToken;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  private String bulkToken;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  private UserProvider userProvider;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  private int nrThreads;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  private RpcControllerFactory rpcControllerFactory;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  private AtomicInteger numRetries;<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  private Map&lt;LoadQueueItem, ByteBuffer&gt; retValue = null;<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public LoadIncrementalHFiles(Configuration conf) throws Exception {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    super(conf);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    this.rpcControllerFactory = new RpcControllerFactory(conf);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    initialize();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  private void initialize() throws Exception {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (initalized) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      return;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    // make a copy, just to be sure we're not overriding someone else's config<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    setConf(HBaseConfiguration.create(getConf()));<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    Configuration conf = getConf();<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    // disable blockcache for tool invocation, see HBASE-10500<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    conf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    this.fsDelegationToken = new FsDelegationToken(userProvider, "renewer");<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    assignSeqIds = conf.getBoolean(ASSIGN_SEQ_IDS, true);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    maxFilesPerRegionPerFamily = conf.getInt(MAX_FILES_PER_REGION_PER_FAMILY, 32);<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    nrThreads = conf.getInt("hbase.loadincremental.threads.max",<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      Runtime.getRuntime().availableProcessors());<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    initalized = true;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    numRetries = new AtomicInteger(1);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  private void usage() {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    System.err.println("usage: " + NAME + " /path/to/hfileoutputformat-output tablename" + "\n -D"<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        + CREATE_TABLE_CONF_KEY + "=no - can be used to avoid creation of table by this tool\n"<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        + "  Note: if you set this to 'no', then the target table must already exist in HBase\n -D"<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        + IGNORE_UNMATCHED_CF_CONF_KEY + "=yes - can be used to ignore unmatched column families\n"<a name="line.170"></a>
+<span class="sourceLineNo">171</span>        + "\n");<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>  private interface BulkHFileVisitor&lt;TFamily&gt; {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    TFamily bulkFamily(final byte[] familyName)<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      throws IOException;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    void bulkHFile(final TFamily family, final FileStatus hfileStatus)<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      throws IOException;<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>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * Iterate over the bulkDir hfiles.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * Skip reference, HFileLink, files starting with "_" and non-valid hfiles.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  private static &lt;TFamily&gt; void visitBulkHFiles(final FileSystem fs, final Path bulkDir,<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    final BulkHFileVisitor&lt;TFamily&gt; visitor) throws IOException {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    visitBulkHFiles(fs, bulkDir, visitor, true);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  }<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /**<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * Iterate over the bulkDir hfiles.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   * Skip reference, HFileLink, files starting with "_".<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Check and skip non-valid hfiles by default, or skip this validation by setting<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * 'hbase.loadincremental.validate.hfile' to false.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  private static &lt;TFamily&gt; void visitBulkHFiles(final FileSystem fs, final Path bulkDir,<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    final BulkHFileVisitor&lt;TFamily&gt; visitor, final boolean validateHFile) throws IOException {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    if (!fs.exists(bulkDir)) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      throw new FileNotFoundException("Bulkload dir " + bulkDir + " not found");<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>    FileStatus[] familyDirStatuses = fs.listStatus(bulkDir);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    if (familyDirStatuses == null) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      throw new FileNotFoundException("No families found in " + bulkDir);<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>    for (FileStatus familyStat : familyDirStatuses) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      if (!familyStat.isDirectory()) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        LOG.warn("Skipping non-directory " + familyStat.getPath());<a name="line.209"></a>
+<span class="sourceLineNo">210</span>        continue;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      }<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      Path familyDir = familyStat.getPath();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      byte[] familyName = familyDir.getName().getBytes();<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      // Skip invalid family<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      try {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>        HColumnDescriptor.isLegalFamilyName(familyName);<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      }<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      catch (IllegalArgumentException e) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        LOG.warn("Skipping invalid " + familyStat.getPath());<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        continue;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      }<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      TFamily family = visitor.bulkFamily(familyName);<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>      FileStatus[] hfileStatuses = fs.listStatus(familyDir);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      for (FileStatus hfileStatus : hfileStatuses) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        if (!fs.isFile(hfileStatus.getPath())) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          LOG.warn("Skipping non-file " + hfileStatus);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>          continue;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>        }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>        Path hfile = hfileStatus.getPath();<a name="line.231"></a>
+<span class="sourceLineNo">232</span>        // Skip "_", reference, HFileLink<a name="line.232"></a>
+<span class="sourceLineNo">233</span>        String fileName = hfile.getName();<a name="line.233"></a>
+<span class="sourceLineNo">234</span>        if (fileName.startsWith("_")) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>          continue;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>        }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        if (StoreFileInfo.isReference(fileName)) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>          LOG.warn("Skipping reference " + fileName);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>          continue;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>        }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        if (HFileLink.isHFileLink(fileName)) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>          LOG.warn("Skipping HFileLink " + fileName);<a name="line.242"></a>
+<span class="sourceLineNo">243</span>          continue;<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>        // Validate HFile Format if needed<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        if (validateHFile) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>          try {<a name="line.248"></a>
+<span class="sourceLineNo">249</span>            if (!HFile.isHFileFormat(fs, hfile)) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>              LOG.warn("the file " + hfile + " doesn't seems to be an hfile. skipping");<a name="line.250"></a>
+<span class="sourceLineNo">251</span>              continue;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>            }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>          } catch (FileNotFoundException e) {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>            LOG.warn("the file " + hfile + " was removed");<a name="line.254"></a>
+<span class="sourceLineNo">255</span>            continue;<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><a name="line.258"></a>
+<span class="sourceLineNo">259</span>        visitor.bulkHFile(family, hfileStatus);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * Represents an HFile waiting to be loaded. An queue is used<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * in this class in order to support the case where a region has<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * split during the process of the load. When this happens,<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * the HFile is split into two physical parts across the new<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * region boundary, and each part is added back into the queue.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * The import process finishes when the queue is empty.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public static class LoadQueueItem {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    final byte[] family;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    final Path hfilePath;<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    public LoadQueueItem(byte[] family, Path hfilePath) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      this.family = family;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      this.hfilePath = hfilePath;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span>    @Override<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    public String toString() {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      return "family:"+ Bytes.toString(family) + " path:" + hfilePath.toString();<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><a name="line.286"></a>
+<span class="sourceLineNo">287</span>  /*<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * Populate the Queue with given HFiles<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   */<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  private void populateLoadQueue(final Deque&lt;LoadQueueItem&gt; ret,<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      Map&lt;byte[], List&lt;Path&gt;&gt; map) throws IOException {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    for (Map.Entry&lt;byte[], List&lt;Path&gt;&gt; entry : map.entrySet()) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      for (Path p : entry.getValue()) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>        ret.add(new LoadQueueItem(entry.getKey(), p));<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>  }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>  /**<a name="line.299"></a>
+<span class="sourceLineNo">300</span>   * Walk the given directory for all HFiles, and return a Queue<a name="line.300"></a>
+<span class="sourceLineNo">301</span>   * containing all such files.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private void discoverLoadQueue(final Deque&lt;LoadQueueItem&gt; ret, final Path hfofDir,<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      final boolean validateHFile) throws IOException {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    fs = hfofDir.getFileSystem(getConf());<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    visitBulkHFiles(fs, hfofDir, new BulkHFileVisitor&lt;byte[]&gt;() {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      @Override<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      public byte[] bulkFamily(final byte[] familyName) {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>        return familyName;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      }<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      @Override<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      public void bulkHFile(final byte[] family, final FileStatus hfile) throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        long length = hfile.getLen();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>        if (length &gt; getConf().getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.314"></a>
+<span class="sourceLineNo">315</span>            HConstants.DEFAULT_MAX_FILE_SIZE)) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>          LOG.warn("Trying to bulk load hfile " + hfile.getPath() + " with size: " +<a name="line.316"></a>
+<span class="sourceLineNo">317</span>              length + " bytes can be problematic as it may lead to oversplitting.");<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        }<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        ret.add(new LoadQueueItem(family, hfile.getPath()));<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    }, validateHFile);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  }<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span>  /**<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * Perform a bulk load of the given directory into the given<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * pre-existing table.  This method is not threadsafe.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   *<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param hfofDir the directory that was provided as the output path<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   *   of a job using HFileOutputFormat<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * @param admin the Admin<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @param table the table to load into<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * @param regionLocator region locator<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @throws TableNotFoundException if table does not yet exist<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  public void doBulkLoad(Path hfofDir, final Admin admin, Table table,<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      RegionLocator regionLocator) throws TableNotFoundException, IOException {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    doBulkLoad(hfofDir, admin, table, regionLocator, false, false);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>  void cleanup(Admin admin, Deque&lt;LoadQueueItem&gt; queue, ExecutorService pool,<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      SecureBulkLoadClient secureClient) throws IOException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    fsDelegationToken.releaseDelegationToken();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    if (bulkToken != null &amp;&amp; secureClient != null) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      secureClient.cleanupBulkLoad(admin.getConnection(), bulkToken);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    if (pool != null) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      pool.shutdown();<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    if (!queue.isEmpty()) {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      StringBuilder err = new StringBuilder();<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      err.append("-------------------------------------------------\n");<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      err.append("Bulk load aborted with some files not yet loaded:\n");<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      err.append("-------------------------------------------------\n");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      for (LoadQueueItem q : queue) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        err.append("  ").append(q.hfilePath).append('\n');<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      LOG.error(err);<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    }<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * Perform a bulk load of the given directory into the given<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * pre-existing table.  This method is not threadsafe.<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   *<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @param map map of family to List of hfiles<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @param admin the Admin<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @param table the table to load into<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @param regionLocator region locator<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @param silence true to ignore unmatched column families<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @param copyFile always copy hfiles if true<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @throws TableNotFoundException if table does not yet exist<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  public void doBulkLoad(Map&lt;byte[], List&lt;Path&gt;&gt; map, final Admin admin,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      Table table, RegionLocator regionLocator, boolean silence, boolean copyFile)<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          throws TableNotFoundException, IOException {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    if (!admin.isTableAvailable(regionLocator.getName())) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      throw new TableNotFoundException("Table " + table.getName() + " is not currently available.");<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    // LQI queue does not need to be threadsafe -- all operations on this queue<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    // happen in this thread<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    Deque&lt;LoadQueueItem&gt; queue = new LinkedList&lt;&gt;();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    ExecutorService pool = null;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    SecureBulkLoadClient secureClient = null;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    try {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      prepareHFileQueue(map, table, queue, silence);<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      if (queue.isEmpty()) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>        LOG.warn("Bulk load operation did not get any files to load");<a name="line.386"></a>
+<span class="sourceLineNo">387</span>        return;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>      }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      pool = createExecutorService();<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      secureClient = new SecureBulkLoadClient(table.getConfiguration(), table);<a name="line.390"></a>
+<span class="sourceLineNo">391</span>      for (Map.Entry&lt;byte[], List&lt;Path&gt;&gt; entry : map.entrySet()) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        for (Path p : entry.getValue()) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>          fs = p.getFileSystem(table.getConfiguration());<a name="line.393"></a>
+<span class="sourceLineNo">394</span>          break;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>        }<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      retValue = performBulkLoad(admin, table, regionLocator, queue, pool, secureClient, copyFile);<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    } finally {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      cleanup(admin, queue, pool, secureClient);<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    }<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * Perform a bulk load of the given directory into the given<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * pre-existing table.  This method is not threadsafe.<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   *<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * @param hfofDir the directory that was provided as the output path<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   *   of a job using HFileOutputFormat<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * @param admin the Admin<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * @param table the table to load into<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * @param regionLocator region locator<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * @param silence true to ignore unmatched column families<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * @param copyFile always copy hfiles if true<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * @throws TableNotFoundException if table does not yet exist<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   */<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  public void doBulkLoad(Path hfofDir, final Admin admin, Table table,<a name="line.416"></a>
+<span class="sourceLineNo">417</span>      RegionLocator regionLocator, boolean silence, boolean copyFile)<a name="line.417"></a>
+<span class="sourceLineNo">418</span>          throws TableNotFoundException, IOException {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    if (!admin.isTableAvailable(regionLocator.getName())) {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      throw new TableNotFoundException("Table " + table.getName() + " is not currently available.");<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
+<span class="sourceLineNo">422</span><a name="line.422"></a>
+<span class="sourceLineNo">423</span>    /*<a name="line.423"></a>
+<span class="sourceLineNo">424</span>     * Checking hfile format is a time-consuming operation, we should have an option to skip<a name="line.424"></a>
+<span class="sourceLineNo">425</span>     * this step when bulkloading millions of HFiles. See HBASE-13985.<a name="line.425"></a>
+<span class="sourceLineNo">426</span>     */<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    boolean validateHFile = getConf().getBoolean("hbase.loadincremental.validate.hfile", true);<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    if (!validateHFile) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      LOG.warn("You are skipping HFiles validation, it might cause some data loss if files " +<a name="line.429"></a>
+<span class="sourceLineNo">430</span>          "are not correct. If you fail to read data from your table after using this " +<a name="line.430"></a>
+<span class="sourceLineNo">431</span>          "option, consider removing the files and bulkload again without this option. " +<a name="line.431"></a>
+<span class="sourceLineNo">432</span>          "See HBASE-13985");<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    }<a name="line.433"></a>
+<span class="sourceLineNo">434</span>    // LQI queue does not need to be threadsafe -- all operations on this queue<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    // happen in this thread<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    Deque&lt;LoadQueueItem&gt; queue = new LinkedList&lt;&gt;();<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    ExecutorService pool = null;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    SecureBulkLoadClient secureClient = null;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    try {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      prepareHFileQueue(hfofDir, table, queue, validateHFile, silence);<a name="line.440"></a>
+<span class="sourceLineNo">441</span><a name="line.441"></a>
+<span class="sourceLineNo">442</span>      if (queue.isEmpty()) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        LOG.warn("Bulk load operation did not find any files to load in " +<a name="line.443"></a>
+<span class="sourceLineNo">444</span>            "directory " + hfofDir != null ? hfofDir.toUri() : "" + ".  Does it contain files in " +<a name="line.444"></a>
+<span class="sourceLineNo">445</span>            "subdirectories that correspond to column family names?");<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        return;<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      }<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      pool = createExecutorService();<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      secureClient = new SecureBulkLoadClient(table.getConfiguration(), table);<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      retValue = performBulkLoad(admin, table, regionLocator, queue, pool, secureClient, copyFile);<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    } finally {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      cleanup(admin, queue, pool, secureClient);<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><a name="line.455"></a>
+<span class="sourceLineNo">456</span>  Map&lt;LoadQueueItem, ByteBuffer&gt; performBulkLoad(final Admin admin, Table table,<a name="line.456"></a>
+<span class="sourceLineNo">457</span>      RegionLocator regionLocator, Deque&lt;LoadQueueItem&gt; queue, ExecutorService pool,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      SecureBulkLoadClient secureClient, boolean copyFile) throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    int count = 0;<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>    if(isSecureBulkLoadEndpointAvailable()) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      LOG.warn("SecureBulkLoadEndpoint is deprecated. It will be removed in future releases.");<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      LOG.warn("Secure bulk load has been integrated into HBase core.");<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>    //If using secure bulk load, get source delegation token, and<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    //prepare staging directory and token<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    // fs is the source filesystem<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    fsDelegationToken.acquireDelegationToken(fs);<a name="line.469"></a>
+<span class="sourceLineNo">470</span>    bulkToken = secureClient.prepareBulkLoad(admin.getConnection());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    Pair&lt;Multimap&lt;ByteBuffer, LoadQueueItem&gt;, Set&lt;String&gt;&gt; pair = null;<a name="line.471"></a>
+<span class="sourceLineNo">472</span><a name="line.472"></a>
+<span class="sourceLineNo">473</span>    Map&lt;LoadQueueItem, ByteBuffer&gt; item2RegionMap = new HashMap&lt;&gt;();<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    // Assumes that region splits can happen while this occurs.<a name="line.474"></a>
+<span class="sourceLineNo">475</span>    while (!queue.isEmpty()) {<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      // need to reload split keys each iteration.<a name="line.476"></a>
+<span class="sourceLineNo">477</span>      final Pair&lt;byte[][], byte[][]&gt; startEndKeys = regionLocator.getStartEndKeys();<a name="line.477"></a>
+<span class="sourceLineNo">478</span>      if (count != 0) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>        LOG.info("Split occurred while grouping HFiles, retry attempt " +<a name="line.479"></a>
+<span class="sourceLineNo">480</span>            + count + " with " + queue.size() + " files remaining to group or split");<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      }<a name="line.481"></a>
+<span class="sourceLineNo">482</span><a name="line.482"></a>
+<span class="sourceLineNo">483</span>      int maxRetries = getConf().getInt(HConstants.BULKLOAD_MAX_RETRIES_NUMBER, 10);<a name="line.483"></a>
+<span class="sourceLineNo">484</span>      maxRetries = Math.max(maxRetries, startEndKeys.getFirst().length + 1);<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      if (maxRetries != 0 &amp;&amp; count &gt;= maxRetries) {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>        throw new IOException("Retry attempted " + count +<a name="line.486"></a>
+<span class="sourceLineNo">487</span>            " times without completing, bailing out");<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      }<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      count++;<a name="line.489"></a>
+<span class="sourceLineNo">490</span><a name="line.490"></a>
+<span class="sourceLineNo">491</span>      // Using ByteBuffer for byte[] equality semantics<a name="line.491"></a>
+<span class="sourceLineNo">492</span>      pair = groupOrSplitPhase(table, pool, queue, startEndKeys);<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      Multimap&lt;ByteBuffer, LoadQueueItem&gt; regionGroups = pair.getFirst();<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span>      if (!checkHFilesCountPerRegionPerFamily(regionGroups)) {<a name="line.495"></a>
+<span class="sourceLineNo">496</span>        // Error is logged inside checkHFilesCountPerRegionPerFamily.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>        throw new IOException("Trying to load more than " + maxFilesPerRegionPerFamily<a name="line.497"></a>
+<span class="sourceLineNo">498</span>            + " hfiles to one family of one region");<a name="line.498"></a>
+<span class="sourceLineNo">499</span>      }<a name="line.499"></a>
+<span class="sourceLineNo">500</span><a name="line.500"></a>
+<span class="sourceLineNo">501</span>      bulkLoadPhase(table, admin.getConnection(), pool, queue, regionGroups, copyFile,<a name="line.501"></a>
+<span class="sourceLineNo">502</span>          item2RegionMap);<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>      // NOTE: The next iteration's split / group could happen in parallel to<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      // atomic bulkloads assuming that there are splits and no merges, and<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      // that we can atomically pull out the groups we want to retry.<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    }<a name="line.507"></a>
+<span class="sourceLineNo">508</span><a name="line.508"></a>
+<span class="sourceLineNo">509</span>    if (!queue.isEmpty()) {<a name="line.509"></a>
+<span class="sourceLineNo">510</span>      throw new RuntimeException("Bulk load aborted with some files not yet loaded."<a name="line.510"></a>
+<span class="sourceLineNo">511</span>        + "Please check log for more details.");<a name="line.511"></a>
+<span class="sourceLineNo">512</span>    }<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    return item2RegionMap;<a name="line.513"></a>
+<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
+<span class="sourceLineNo">515</span><a name="line.515"></a>
+<span class="sourceLineNo">516</span>  protected ClientServiceCallable&lt;byte[]&gt; buildClientServiceCallable(final Connection conn,<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      TableName tableName, byte[] first, Collection&lt;LoadQueueItem&gt; lqis, boolean copyFile) {<a name="line.517"></a>
+<span class="sourceLineNo">518</span><a name="line.518"></a>
+<span class="sourceLineNo">519</span>    final List&lt;Pair&lt;byte[], String&gt;&gt; famPaths = new ArrayList&lt;&gt;(lqis.size());<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    for (LoadQueueItem lqi : lqis) {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>        famPaths.add(Pair.newPair(lqi.family, lqi.hfilePath.toString()));<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
+<span class="sourceLineNo">523</span><a name="line.523"></a>
+<span class="sourceLineNo">524</span>    return new ClientServiceCallable&lt;byte[]&gt;(conn,<a name="line.524"></a>
+<span class="sourceLineNo">525</span>        tableName, first, rpcControllerFactory.newController()) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span>      @Override<a name="line.526"></a>
+<span class="sourceLineNo">527</span>      protected byte[] rpcCall() throws Exception {<a name="line.527"></a>
+<span class="sourceLineNo">528</span>        SecureBulkLoadClient secureClient = null;<a name="line.528"></a>
+<span class="sourceLineNo">529</span>        boolean success = false;<a name="line.529"></a>
+<span class="sourceLineNo">530</span>        try {<a name="line.530"></a>
+<span class="sourceLineNo">531</span>          LOG.debug("Going to connect to server " + getLocation() + " for row "<a name="line.531"></a>
+<span class="sourceLineNo">532</span>              + Bytes.toStringBinary(getRow()) + " with hfile group " +<a name="line.532"></a>
+<span class="sourceLineNo">533</span>              LoadIncrementalHFiles.this.toString( famPaths));<a name="line.533"></a>
 <span class="sourceLineNo">534</span>          byte[] regionName = getLocation().getRegionInfo().getRegionName();<a name="line.534"></a>
 <span class="sourceLineNo">535</span>          try (Table table = conn.getTable(getTableName())) {<a name="line.535"></a>
 <span class="sourceLineNo">536</span>            secureClient = new SecureBulkLoadClient(getConf(), table);<a name="line.536"></a>
@@ -638,7 +638,7 @@
 <span class="sourceLineNo">630</span>    ThreadFactoryBuilder builder = new ThreadFactoryBuilder();<a name="line.630"></a>
 <span class="sourceLineNo">631</span>    builder.setNameFormat("LoadIncrementalHFiles-%1$d");<a name="line.631"></a>
 <span class="sourceLin

<TRUNCATED>

[40/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/Increment.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/Increment.html b/apidocs/org/apache/hadoop/hbase/client/Increment.html
index 81f7d77..7f424f2 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Increment.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Increment.html
@@ -611,7 +611,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.224">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.223">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Operation.html#toString--">Operation</a></code></span></div>
 <div class="block">Produces a string representation of this Operation. It defaults to a JSON
  representation, but falls back to a string representation of the
@@ -630,7 +630,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.266">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.265">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;</code></dd>
@@ -645,7 +645,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.272">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.271">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://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>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -658,7 +658,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.279">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.278">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://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>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -671,7 +671,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>extraHeapSize</h4>
-<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.292">extraHeapSize</a>()</pre>
+<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.291">extraHeapSize</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#extraHeapSize--">Mutation</a></code></span></div>
 <div class="block">Subclasses should override this method to add the heap size of their own fields.</div>
 <dl>
@@ -688,7 +688,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setAttribute</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.297">setAttribute</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.296">setAttribute</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                               byte[]&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Attributes.html#setAttribute-java.lang.String-byte:A-">Attributes</a></code></span></div>
 <div class="block">Sets an attribute.
@@ -711,7 +711,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.302">setId</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.301">setId</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttributes.html#setId-java.lang.String-">OperationWithAttributes</a></code></span></div>
 <div class="block">This method allows you to set an identifier on an operation. The original
  motivation for this was to allow the identifier to be used in slow query
@@ -732,7 +732,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setDurability</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.307">setDurability</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.306">setDurability</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#setDurability-org.apache.hadoop.hbase.client.Durability-">Mutation</a></code></span></div>
 <div class="block">Set the durability for this mutation</div>
 <dl>
@@ -747,7 +747,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setFamilyCellMap</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.312">setFamilyCellMap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.311">setFamilyCellMap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#setFamilyCellMap-java.util.NavigableMap-">Mutation</a></code></span></div>
 <div class="block">Method for setting the put's familyMap</div>
 <dl>
@@ -762,7 +762,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setClusterIds</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.317">setClusterIds</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;clusterIds)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.316">setClusterIds</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;clusterIds)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#setClusterIds-java.util.List-">Mutation</a></code></span></div>
 <div class="block">Marks that the clusters with the given clusterIds have consumed the mutation</div>
 <dl>
@@ -779,7 +779,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setCellVisibility</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.322">setCellVisibility</a>(org.apache.hadoop.hbase.security.visibility.CellVisibility&nbsp;expression)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.321">setCellVisibility</a>(org.apache.hadoop.hbase.security.visibility.CellVisibility&nbsp;expression)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#setCellVisibility-org.apache.hadoop.hbase.security.visibility.CellVisibility-">Mutation</a></code></span></div>
 <div class="block">Sets the visibility expression associated with cells in this Mutation.
  It is illegal to set <code>CellVisibility</code> on <code>Delete</code> mutation.</div>
@@ -795,7 +795,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.327">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.326">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                         org.apache.hadoop.hbase.security.access.Permission&nbsp;perms)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -812,7 +812,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.332">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;perms)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.331">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;perms)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#setACL-java.util.Map-">setACL</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></dd>
@@ -827,7 +827,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setTTL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.337">setTTL</a>(long&nbsp;ttl)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Increment.html#line.336">setTTL</a>(long&nbsp;ttl)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html#setTTL-long-">Mutation</a></code></span></div>
 <div class="block">Set the TTL desired for the result of the mutation, in milliseconds.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/Mutation.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/Mutation.html b/apidocs/org/apache/hadoop/hbase/client/Mutation.html
index a880d0a..f24b9eb 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Mutation.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Mutation.html
@@ -449,7 +449,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>cellScanner</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.99">cellScanner</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.CellScanner&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.98">cellScanner</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>cellScanner</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.CellScannable</code></dd>
@@ -464,7 +464,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getFingerprint</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.160">getFingerprint</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.159">getFingerprint</a>()</pre>
 <div class="block">Compile the column family (i.e. schema) information
  into a Map. Useful for parsing and aggregation by debugging,
  logging, and administration tools.</div>
@@ -482,7 +482,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>toMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.180">toMap</a>(int&nbsp;maxCols)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.179">toMap</a>(int&nbsp;maxCols)</pre>
 <div class="block">Compile the details beyond the scope of getFingerprint (row, columns,
  timestamps, etc.) into a Map along with the fingerprinted information.
  Useful for debugging, logging, and administration tools.</div>
@@ -502,7 +502,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>setDurability</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.243">setDurability</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.241">setDurability</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</pre>
 <div class="block">Set the durability for this mutation</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -516,7 +516,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getDurability</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.249">getDurability</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.247">getDurability</a>()</pre>
 <div class="block">Get the current durability</div>
 </li>
 </ul>
@@ -526,7 +526,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyCellMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.257">getFamilyCellMap</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.255">getFamilyCellMap</a>()</pre>
 <div class="block">Method for retrieving the put's familyMap</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -540,7 +540,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>setFamilyCellMap</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.264">setFamilyCellMap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.262">setFamilyCellMap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;map)</pre>
 <div class="block">Method for setting the put's familyMap</div>
 </li>
 </ul>
@@ -550,7 +550,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>isEmpty</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.275">isEmpty</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.273">isEmpty</a>()</pre>
 <div class="block">Method to check if the familyMap is empty</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -564,7 +564,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.284">getRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.282">getRow</a>()</pre>
 <div class="block">Method for retrieving the delete's row</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -580,7 +580,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.289">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;d)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.287">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;d)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;</code></dd>
@@ -593,7 +593,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimeStamp</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.297">getTimeStamp</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.295">getTimeStamp</a>()</pre>
 <div class="block">Method for retrieving the timestamp</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -607,7 +607,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>setClusterIds</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.305">setClusterIds</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;clusterIds)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.303">setClusterIds</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;clusterIds)</pre>
 <div class="block">Marks that the clusters with the given clusterIds have consumed the mutation</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -621,7 +621,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterIds</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.319">getClusterIds</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.317">getClusterIds</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the set of clusterIds that have consumed the mutation</dd>
@@ -634,7 +634,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>setCellVisibility</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.337">setCellVisibility</a>(org.apache.hadoop.hbase.security.visibility.CellVisibility&nbsp;expression)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.335">setCellVisibility</a>(org.apache.hadoop.hbase.security.visibility.CellVisibility&nbsp;expression)</pre>
 <div class="block">Sets the visibility expression associated with cells in this Mutation.
  It is illegal to set <code>CellVisibility</code> on <code>Delete</code> mutation.</div>
 <dl>
@@ -649,7 +649,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellVisibility</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.security.visibility.CellVisibility&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.347">getCellVisibility</a>()
+<pre>public&nbsp;org.apache.hadoop.hbase.security.visibility.CellVisibility&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.345">getCellVisibility</a>()
                                                                              throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -665,7 +665,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.400">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.398">size</a>()</pre>
 <div class="block">Number of KeyValues carried by this Mutation.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -679,7 +679,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>numFamilies</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.411">numFamilies</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.409">numFamilies</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the number of different families</dd>
@@ -692,7 +692,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.419">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.417">heapSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>heapSize</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.io.HeapSize</code></dd>
@@ -707,7 +707,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getACL</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.452">getACL</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.450">getACL</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The serialized ACL for this operation, or null if none</dd>
@@ -720,7 +720,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.460">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.458">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                        org.apache.hadoop.hbase.security.access.Permission&nbsp;perms)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -735,7 +735,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>setACL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.469">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;perms)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.467">setACL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.security.access.Permission&gt;&nbsp;perms)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>perms</code> - A map of permissions for a user or users</dd>
@@ -748,7 +748,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getTTL</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.484">getTTL</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.482">getTTL</a>()</pre>
 <div class="block">Return the TTL requested for the result of the mutation, in milliseconds.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -763,7 +763,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>setTTL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.497">setTTL</a>(long&nbsp;ttl)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.495">setTTL</a>(long&nbsp;ttl)</pre>
 <div class="block">Set the TTL desired for the result of the mutation, in milliseconds.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -779,7 +779,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>extraHeapSize</h4>
-<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.523">extraHeapSize</a>()</pre>
+<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Mutation.html#line.521">extraHeapSize</a>()</pre>
 <div class="block">Subclasses should override this method to add the heap size of their own fields.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/Query.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/Query.html b/apidocs/org/apache/hadoop/hbase/client/Query.html
index 2ff2a8d..c859114 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Query.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Query.html
@@ -470,7 +470,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/OperationWithAttr
 <h4>setFilter</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Query.html#line.64">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block">Apply the specified server-side filter when performing the Query.
- Only <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-"><code>Filter.filterKeyValue(Cell)</code></a> is called AFTER all tests
+ Only <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-"><code>Filter.filterKeyValue(org.apache.hadoop.hbase.Cell)</code></a> is called AFTER all tests
  for ttl, column match, deletes and max versions have been run.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/RegionLoadStats.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/RegionLoadStats.html b/apidocs/org/apache/hadoop/hbase/client/RegionLoadStats.html
index 1f23bea..dae162c 100644
--- a/apidocs/org/apache/hadoop/hbase/client/RegionLoadStats.html
+++ b/apidocs/org/apache/hadoop/hbase/client/RegionLoadStats.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -259,7 +259,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">


[11/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/Import.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/Import.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/Import.html
index 73df1db..14e7609 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/Import.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/Import.html
@@ -479,7 +479,7 @@
 <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>  private static ArrayList&lt;byte[]&gt; toQuotedByteArrays(String... stringArgs) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    ArrayList&lt;byte[]&gt; quotedArgs = new ArrayList&lt;byte[]&gt;();<a name="line.474"></a>
+<span class="sourceLineNo">474</span>    ArrayList&lt;byte[]&gt; quotedArgs = new ArrayList&lt;&gt;();<a name="line.474"></a>
 <span class="sourceLineNo">475</span>    for (String stringArg : stringArgs) {<a name="line.475"></a>
 <span class="sourceLineNo">476</span>      // all the filters' instantiation methods expected quoted args since they are coming from<a name="line.476"></a>
 <span class="sourceLineNo">477</span>      // the shell, so add them here, though it shouldn't really be needed :-/<a name="line.477"></a>
@@ -544,7 +544,7 @@
 <span class="sourceLineNo">536</span>      String[] allMappings = allMappingsPropVal.split(",");<a name="line.536"></a>
 <span class="sourceLineNo">537</span>      for (String mapping: allMappings) {<a name="line.537"></a>
 <span class="sourceLineNo">538</span>        if(cfRenameMap == null) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            cfRenameMap = new TreeMap&lt;byte[],byte[]&gt;(Bytes.BYTES_COMPARATOR);<a name="line.539"></a>
+<span class="sourceLineNo">539</span>            cfRenameMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.539"></a>
 <span class="sourceLineNo">540</span>        }<a name="line.540"></a>
 <span class="sourceLineNo">541</span>        String [] srcAndDest = mapping.split(":");<a name="line.541"></a>
 <span class="sourceLineNo">542</span>        if(srcAndDest.length != 2) {<a name="line.542"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html
index 22656ce..69b099e 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html
@@ -257,7 +257,7 @@
 <span class="sourceLineNo">249</span>    public ParsedLine parse(byte[] lineBytes, int length)<a name="line.249"></a>
 <span class="sourceLineNo">250</span>    throws BadTsvLineException {<a name="line.250"></a>
 <span class="sourceLineNo">251</span>      // Enumerate separator offsets<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      ArrayList&lt;Integer&gt; tabOffsets = new ArrayList&lt;Integer&gt;(maxColumnCount);<a name="line.252"></a>
+<span class="sourceLineNo">252</span>      ArrayList&lt;Integer&gt; tabOffsets = new ArrayList&lt;&gt;(maxColumnCount);<a name="line.252"></a>
 <span class="sourceLineNo">253</span>      for (int i = 0; i &lt; length; i++) {<a name="line.253"></a>
 <span class="sourceLineNo">254</span>        if (lineBytes[i] == separatorByte) {<a name="line.254"></a>
 <span class="sourceLineNo">255</span>          tabOffsets.add(i);<a name="line.255"></a>
@@ -456,7 +456,7 @@
 <span class="sourceLineNo">448</span>                  + " are less than row key position.");<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>      return new Pair&lt;Integer, Integer&gt;(startPos, endPos - startPos + 1);<a name="line.451"></a>
+<span class="sourceLineNo">451</span>      return new Pair&lt;&gt;(startPos, endPos - startPos + 1);<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><a name="line.454"></a>
@@ -529,7 +529,7 @@
 <span class="sourceLineNo">521</span>            boolean noStrict = conf.getBoolean(NO_STRICT_COL_FAMILY, false);<a name="line.521"></a>
 <span class="sourceLineNo">522</span>            // if no.strict is false then check column family<a name="line.522"></a>
 <span class="sourceLineNo">523</span>            if(!noStrict) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>              ArrayList&lt;String&gt; unmatchedFamilies = new ArrayList&lt;String&gt;();<a name="line.524"></a>
+<span class="sourceLineNo">524</span>              ArrayList&lt;String&gt; unmatchedFamilies = new ArrayList&lt;&gt;();<a name="line.524"></a>
 <span class="sourceLineNo">525</span>              Set&lt;String&gt; cfSet = getColumnFamilies(columns);<a name="line.525"></a>
 <span class="sourceLineNo">526</span>              HTableDescriptor tDesc = table.getTableDescriptor();<a name="line.526"></a>
 <span class="sourceLineNo">527</span>              for (String cf : cfSet) {<a name="line.527"></a>
@@ -538,7 +538,7 @@
 <span class="sourceLineNo">530</span>                }<a name="line.530"></a>
 <span class="sourceLineNo">531</span>              }<a name="line.531"></a>
 <span class="sourceLineNo">532</span>              if(unmatchedFamilies.size() &gt; 0) {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                ArrayList&lt;String&gt; familyNames = new ArrayList&lt;String&gt;();<a name="line.533"></a>
+<span class="sourceLineNo">533</span>                ArrayList&lt;String&gt; familyNames = new ArrayList&lt;&gt;();<a name="line.533"></a>
 <span class="sourceLineNo">534</span>                for (HColumnDescriptor family : table.getTableDescriptor().getFamilies()) {<a name="line.534"></a>
 <span class="sourceLineNo">535</span>                  familyNames.add(family.getNameAsString());<a name="line.535"></a>
 <span class="sourceLineNo">536</span>                }<a name="line.536"></a>
@@ -634,7 +634,7 @@
 <span class="sourceLineNo">626</span>  }<a name="line.626"></a>
 <span class="sourceLineNo">627</span><a name="line.627"></a>
 <span class="sourceLineNo">628</span>  private static Set&lt;String&gt; getColumnFamilies(String[] columns) {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    Set&lt;String&gt; cfSet = new HashSet&lt;String&gt;();<a name="line.629"></a>
+<span class="sourceLineNo">629</span>    Set&lt;String&gt; cfSet = new HashSet&lt;&gt;();<a name="line.629"></a>
 <span class="sourceLineNo">630</span>    for (String aColumn : columns) {<a name="line.630"></a>
 <span class="sourceLineNo">631</span>      if (TsvParser.ROWKEY_COLUMN_SPEC.equals(aColumn)<a name="line.631"></a>
 <span class="sourceLineNo">632</span>          || TsvParser.TIMESTAMPKEY_COLUMN_SPEC.equals(aColumn)<a name="line.632"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/KeyValueSortReducer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/KeyValueSortReducer.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/KeyValueSortReducer.html
index 807f600..560a84d 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/KeyValueSortReducer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/KeyValueSortReducer.html
@@ -48,7 +48,7 @@
 <span class="sourceLineNo">040</span>  protected void reduce(ImmutableBytesWritable row, java.lang.Iterable&lt;KeyValue&gt; kvs,<a name="line.40"></a>
 <span class="sourceLineNo">041</span>      org.apache.hadoop.mapreduce.Reducer&lt;ImmutableBytesWritable, KeyValue, ImmutableBytesWritable, KeyValue&gt;.Context context)<a name="line.41"></a>
 <span class="sourceLineNo">042</span>  throws java.io.IOException, InterruptedException {<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    TreeSet&lt;KeyValue&gt; map = new TreeSet&lt;KeyValue&gt;(CellComparator.COMPARATOR);<a name="line.43"></a>
+<span class="sourceLineNo">043</span>    TreeSet&lt;KeyValue&gt; map = new TreeSet&lt;&gt;(CellComparator.COMPARATOR);<a name="line.43"></a>
 <span class="sourceLineNo">044</span>    for (KeyValue kv: kvs) {<a name="line.44"></a>
 <span class="sourceLineNo">045</span>      try {<a name="line.45"></a>
 <span class="sourceLineNo">046</span>        map.add(kv.clone());<a name="line.46"></a>


[21/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/OperationWithAttributes.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/OperationWithAttributes.html b/apidocs/src-html/org/apache/hadoop/hbase/client/OperationWithAttributes.html
index 057fcd3..782620c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/OperationWithAttributes.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/OperationWithAttributes.html
@@ -52,7 +52,7 @@
 <span class="sourceLineNo">044</span>    }<a name="line.44"></a>
 <span class="sourceLineNo">045</span><a name="line.45"></a>
 <span class="sourceLineNo">046</span>    if (attributes == null) {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>      attributes = new HashMap&lt;String, byte[]&gt;();<a name="line.47"></a>
+<span class="sourceLineNo">047</span>      attributes = new HashMap&lt;&gt;();<a name="line.47"></a>
 <span class="sourceLineNo">048</span>    }<a name="line.48"></a>
 <span class="sourceLineNo">049</span><a name="line.49"></a>
 <span class="sourceLineNo">050</span>    if (value == null) {<a name="line.50"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html
index 45b8fb8..64126fa 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Put.html
@@ -169,9 +169,9 @@
 <span class="sourceLineNo">161</span>   */<a name="line.161"></a>
 <span class="sourceLineNo">162</span>  public Put(Put putToCopy) {<a name="line.162"></a>
 <span class="sourceLineNo">163</span>    this(putToCopy.getRow(), putToCopy.ts);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    this.familyMap = new TreeMap&lt;byte [], List&lt;Cell&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.164"></a>
+<span class="sourceLineNo">164</span>    this.familyMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.164"></a>
 <span class="sourceLineNo">165</span>    for(Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry: putToCopy.getFamilyCellMap().entrySet()) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      this.familyMap.put(entry.getKey(), new ArrayList&lt;Cell&gt;(entry.getValue()));<a name="line.166"></a>
+<span class="sourceLineNo">166</span>      this.familyMap.put(entry.getKey(), new ArrayList&lt;&gt;(entry.getValue()));<a name="line.166"></a>
 <span class="sourceLineNo">167</span>    }<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    this.durability = putToCopy.durability;<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    for (Map.Entry&lt;String, byte[]&gt; entry : putToCopy.getAttributesMap().entrySet()) {<a name="line.169"></a>
@@ -472,7 +472,7 @@
 <span class="sourceLineNo">464</span>   * returns an empty list if one doesn't exist for the given family.<a name="line.464"></a>
 <span class="sourceLineNo">465</span>   */<a name="line.465"></a>
 <span class="sourceLineNo">466</span>  public List&lt;Cell&gt; get(byte[] family, byte[] qualifier) {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    List&lt;Cell&gt; filteredList = new ArrayList&lt;Cell&gt;();<a name="line.467"></a>
+<span class="sourceLineNo">467</span>    List&lt;Cell&gt; filteredList = new ArrayList&lt;&gt;();<a name="line.467"></a>
 <span class="sourceLineNo">468</span>    for (Cell cell: getCellList(family)) {<a name="line.468"></a>
 <span class="sourceLineNo">469</span>      if (CellUtil.matchingQualifier(cell, qualifier)) {<a name="line.469"></a>
 <span class="sourceLineNo">470</span>        filteredList.add(cell);<a name="line.470"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Query.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Query.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Query.html
index 8c761aa..127619d 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Query.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Query.html
@@ -64,7 +64,7 @@
 <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>   * Apply the specified server-side filter when performing the Query.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Only {@link Filter#filterKeyValue(Cell)} is called AFTER all tests<a name="line.59"></a>
+<span class="sourceLineNo">059</span>   * Only {@link Filter#filterKeyValue(org.apache.hadoop.hbase.Cell)} is called AFTER all tests<a name="line.59"></a>
 <span class="sourceLineNo">060</span>   * for ttl, column match, deletes and max versions have been run.<a name="line.60"></a>
 <span class="sourceLineNo">061</span>   * @param filter filter to run on the server<a name="line.61"></a>
 <span class="sourceLineNo">062</span>   * @return this for invocation chaining<a name="line.62"></a>


[37/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
index 64ed51a..76d7733 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
@@ -227,58 +227,58 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndDelete-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndDelete-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               byte[]&nbsp;value,
               <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
-<div class="block">Atomically checks if a row/family/qualifier value equals to the expected value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected
+ value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndDelete-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndDelete-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               byte[]&nbsp;value,
               <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected
- value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value equals to the expected value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndDelete-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndDelete-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
               byte[]&nbsp;value,
               <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected
+ value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndDelete-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndDelete-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Delete-">checkAndDelete</a></span>(byte[]&nbsp;row,
               byte[]&nbsp;family,
               byte[]&nbsp;qualifier,
               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
               byte[]&nbsp;value,
               <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected
- value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#delete-org.apache.hadoop.hbase.client.Delete-">delete</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#delete-org.apache.hadoop.hbase.client.Delete-">delete</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
 <div class="block">Deletes the specified cells/row.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#delete-org.apache.hadoop.hbase.client.Delete-">delete</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#delete-org.apache.hadoop.hbase.client.Delete-">delete</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)</code>
 <div class="block">Deletes the specified cells/row.</div>
 </td>
 </tr>
@@ -292,14 +292,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#delete-java.util.List-">delete</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&gt;&nbsp;deletes)</code>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#delete-java.util.List-">delete</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&gt;&nbsp;deletes)</code>
 <div class="block">Deletes the specified cells/rows in bulk.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#delete-java.util.List-">delete</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&gt;&nbsp;deletes)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#delete-java.util.List-">delete</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&gt;&nbsp;deletes)</code>
 <div class="block">Deletes the specified cells/rows in bulk.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Durability.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Durability.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Durability.html
index 69c179c..882612f 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Durability.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Durability.html
@@ -189,8 +189,8 @@ the order they are declared.</div>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#incrementColumnValue-byte:A-byte:A-byte:A-long-org.apache.hadoop.hbase.client.Durability-">incrementColumnValue</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#incrementColumnValue-byte:A-byte:A-byte:A-long-org.apache.hadoop.hbase.client.Durability-">incrementColumnValue</a></span>(byte[]&nbsp;row,
                     byte[]&nbsp;family,
                     byte[]&nbsp;qualifier,
                     long&nbsp;amount,
@@ -199,8 +199,8 @@ the order they are declared.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#incrementColumnValue-byte:A-byte:A-byte:A-long-org.apache.hadoop.hbase.client.Durability-">incrementColumnValue</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#incrementColumnValue-byte:A-byte:A-byte:A-long-org.apache.hadoop.hbase.client.Durability-">incrementColumnValue</a></span>(byte[]&nbsp;row,
                     byte[]&nbsp;family,
                     byte[]&nbsp;qualifier,
                     long&nbsp;amount,
@@ -209,22 +209,22 @@ the order they are declared.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Append.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Append.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Delete.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Mutation.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</code>
-<div class="block">Set the durability for this mutation</div>
-</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Append.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Append.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Put.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Put.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Delete.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Mutation.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</code>
+<div class="block">Set the durability for this mutation</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a></code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Get.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Get.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Get.html
index 5e80df4..9fb7f70 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Get.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Get.html
@@ -246,26 +246,26 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#exists-org.apache.hadoop.hbase.client.Get-">exists</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#exists-org.apache.hadoop.hbase.client.Get-">exists</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
 <div class="block">Test for the existence of columns in the table, as specified by the Get.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#exists-org.apache.hadoop.hbase.client.Get-">exists</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#exists-org.apache.hadoop.hbase.client.Get-">exists</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
 <div class="block">Test for the existence of columns in the table, as specified by the Get.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#get-org.apache.hadoop.hbase.client.Get-">get</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#get-org.apache.hadoop.hbase.client.Get-">get</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
 <div class="block">Extracts certain cells from a given row.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#get-org.apache.hadoop.hbase.client.Get-">get</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#get-org.apache.hadoop.hbase.client.Get-">get</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</code>
 <div class="block">Extracts certain cells from a given row.</div>
 </td>
 </tr>
@@ -285,26 +285,26 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#existsAll-java.util.List-">existsAll</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)</code>
-<div class="block">A simple version for batch exists.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>boolean[]</code></td>
 <td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#existsAll-java.util.List-">existsAll</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)</code>
 <div class="block">Test for the existence of columns in the table, as specified by the Gets.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#existsAll-java.util.List-">existsAll</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)</code>
+<div class="block">A simple version for batch exists.</div>
+</td>
+</tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#get-java.util.List-">get</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)</code>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#get-java.util.List-">get</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)</code>
 <div class="block">Extracts certain cells from the given rows, in batch.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#get-java.util.List-">get</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#get-java.util.List-">get</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)</code>
 <div class="block">Extracts certain cells from the given rows, in batch.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Increment.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Increment.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Increment.html
index 52079a5..db23811 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Increment.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Increment.html
@@ -182,14 +182,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#increment-org.apache.hadoop.hbase.client.Increment-">increment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)</code>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#increment-org.apache.hadoop.hbase.client.Increment-">increment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)</code>
 <div class="block">Increments one or more columns within a single row.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#increment-org.apache.hadoop.hbase.client.Increment-">increment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#increment-org.apache.hadoop.hbase.client.Increment-">increment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)</code>
 <div class="block">Increments one or more columns within a single row.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html b/apidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
index 73c3cd9..2a7b626 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/IsolationLevel.html
@@ -143,15 +143,15 @@ the order they are declared.</div>
 <td class="colLast"><span class="typeNameLabel">Scan.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html#setIsolationLevel-org.apache.hadoop.hbase.client.IsolationLevel-">setIsolationLevel</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setIsolationLevel-org.apache.hadoop.hbase.client.IsolationLevel-">setIsolationLevel</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Query.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html#setIsolationLevel-org.apache.hadoop.hbase.client.IsolationLevel-">setIsolationLevel</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</code>
 <div class="block">Set the isolation level for this query.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setIsolationLevel-org.apache.hadoop.hbase.client.IsolationLevel-">setIsolationLevel</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;level)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
index 134b3ee..0408183 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
@@ -249,15 +249,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="typeNameLabel">MutationSerialization.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MutationSerialization.html#getDeserializer-java.lang.Class-">getDeserializer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;c)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MultiTableOutputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableOutputFormat.html" title="type parameter in TableOutputFormat">KEY</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TableOutputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>
 <div class="block">Creates a new record writer.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiTableOutputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableOutputFormat.html#getRecordWriter-org.apache.hadoop.mapreduce.TaskAttemptContext-">getRecordWriter</a></span>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.io.serializer.Serializer&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MutationSerialization.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MutationSerialization.html#getSerializer-java.lang.Class-">getSerializer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;c)</code>&nbsp;</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html
index 0f6abbd..ca9a462 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html
@@ -290,47 +290,47 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndPut-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndPut-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
            byte[]&nbsp;family,
            byte[]&nbsp;qualifier,
            byte[]&nbsp;value,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
-<div class="block">Atomically checks if a row/family/qualifier value equals to the expected value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected
+ value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndPut-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>default <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndPut-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
            byte[]&nbsp;family,
            byte[]&nbsp;qualifier,
            byte[]&nbsp;value,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected
- value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value equals to the expected value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
            byte[]&nbsp;family,
            byte[]&nbsp;qualifier,
            <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
            byte[]&nbsp;value,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected
+ value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-">checkAndPut</a></span>(byte[]&nbsp;row,
            byte[]&nbsp;family,
            byte[]&nbsp;qualifier,
            <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
            byte[]&nbsp;value,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
-<div class="block">Atomically checks if a row/family/qualifier value matches the expected
- value.</div>
+<div class="block">Atomically checks if a row/family/qualifier value matches the expected value.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -353,17 +353,17 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#put-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
-<div class="block">Puts some data to the table.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#put-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
 <div class="block">Puts some data in the table.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#put-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>
+<div class="block">Puts some data to the table.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">HTableMultiplexer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/HTableMultiplexer.html#put-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -398,14 +398,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#put-java.util.List-">put</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#put-java.util.List-">put</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">Puts some data in the table, in batch.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#put-java.util.List-">put</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#put-java.util.List-">put</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)</code>
 <div class="block">Puts some data in the table, in batch.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html
index aa1f1ab..9a5ac41 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html
@@ -182,11 +182,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="typeNameLabel">Result.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html#create-java.util.List-java.lang.Boolean-boolean-boolean-">create</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;exists,
       boolean&nbsp;stale,
-      boolean&nbsp;partial)</code>&nbsp;</td>
+      boolean&nbsp;mayHaveMoreCellsInRow)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Result.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html#createCompleteResult-java.util.List-">createCompleteResult</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;partialResults)</code>
+<td class="colLast"><span class="typeNameLabel">Result.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html#createCompleteResult-java.lang.Iterable-">createCompleteResult</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;partialResults)</code>
 <div class="block">Forms a single result from the partial results in the partialResults list.</div>
 </td>
 </tr>
@@ -306,8 +306,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="typeNameLabel">ScanResultConsumer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result-">onNext</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">RawScanResultConsumer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result:A-">onNext</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&nbsp;results)</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">RawScanResultConsumer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result:A-org.apache.hadoop.hbase.client.RawScanResultConsumer.ScanController-">onNext</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&nbsp;results,
+      <a href="../../../../../../org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client">RawScanResultConsumer.ScanController</a>&nbsp;controller)</code>
+<div class="block">Indicate that we have receive some data.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -320,7 +323,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Result.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html#createCompleteResult-java.util.List-">createCompleteResult</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;partialResults)</code>
+<td class="colLast"><span class="typeNameLabel">Result.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html#createCompleteResult-java.lang.Iterable-">createCompleteResult</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;partialResults)</code>
 <div class="block">Forms a single result from the partial results in the partialResults list.</div>
 </td>
 </tr>
@@ -340,11 +343,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#createValue--">createValue</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#createValue--">createValue</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#createValue--">createValue</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#createValue--">createValue</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -357,23 +360,23 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapred.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableSnapshotInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
+<td class="colLast"><span class="typeNameLabel">MultiTableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/MultiTableSnapshotInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
                org.apache.hadoop.mapred.JobConf&nbsp;job,
                org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.mapred.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
+<td class="colLast"><span class="typeNameLabel">TableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableSnapshotInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
                org.apache.hadoop.mapred.JobConf&nbsp;job,
-               org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Builds a TableRecordReader.</div>
-</td>
+               org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapred.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiTableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/MultiTableSnapshotInputFormat.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
+<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#getRecordReader-org.apache.hadoop.mapred.InputSplit-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.Reporter-">getRecordReader</a></span>(org.apache.hadoop.mapred.InputSplit&nbsp;split,
                org.apache.hadoop.mapred.JobConf&nbsp;job,
-               org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>&nbsp;</td>
+               org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
+<div class="block">Builds a TableRecordReader.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -392,30 +395,30 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">GroupingTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/GroupingTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">IdentityTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/IdentityTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
    <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value,
    org.apache.hadoop.mapred.OutputCollector&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;output,
    org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Extract the grouping columns from value to construct a new key.</div>
+<div class="block">Pass the key, value to reduce</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">IdentityTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/IdentityTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">GroupingTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/GroupingTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
    <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value,
    org.apache.hadoop.mapred.OutputCollector&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;output,
    org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Pass the key, value to reduce</div>
+<div class="block">Extract the grouping columns from value to construct a new key.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#next-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-">next</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#next-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-">next</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
     <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReader.html#next-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-">next</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.html#next-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-">next</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
     <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -429,20 +432,20 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">GroupingTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/GroupingTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">IdentityTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/IdentityTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
    <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value,
    org.apache.hadoop.mapred.OutputCollector&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;output,
    org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Extract the grouping columns from value to construct a new key.</div>
+<div class="block">Pass the key, value to reduce</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">IdentityTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/IdentityTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">GroupingTableMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapred/GroupingTableMap.html#map-org.apache.hadoop.hbase.io.ImmutableBytesWritable-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.mapred.OutputCollector-org.apache.hadoop.mapred.Reporter-">map</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&nbsp;key,
    <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;value,
    org.apache.hadoop.mapred.OutputCollector&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;output,
    org.apache.hadoop.mapred.Reporter&nbsp;reporter)</code>
-<div class="block">Pass the key, value to reduce</div>
+<div class="block">Extract the grouping columns from value to construct a new key.</div>
 </td>
 </tr>
 </tbody>
@@ -461,13 +464,13 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html#getCurrentValue--">getCurrentValue</a></span>()</code>
+<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html#getCurrentValue--">getCurrentValue</a></span>()</code>
 <div class="block">Returns the current value.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TableRecordReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html#getCurrentValue--">getCurrentValue</a></span>()</code>
+<td class="colLast"><span class="typeNameLabel">TableRecordReaderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html#getCurrentValue--">getCurrentValue</a></span>()</code>
 <div class="block">Returns the current value.</div>
 </td>
 </tr>
@@ -482,21 +485,21 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
-                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MultiTableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>
+<div class="block">Builds a TableRecordReader.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
-                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>
-<div class="block">Builds a <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a>.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">TableSnapshotInputFormat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+                  org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiTableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
                   org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>
-<div class="block">Builds a TableRecordReader.</div>
+<div class="block">Builds a <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">


[15/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
index e5afc32..32c4a50 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
@@ -124,309 +124,309 @@
 <span class="sourceLineNo">116</span>      } else {<a name="line.116"></a>
 <span class="sourceLineNo">117</span>        if (range.contains(rowArr, offset, length)) {<a name="line.117"></a>
 <span class="sourceLineNo">118</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        } else currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    } else {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      currentReturnCode = ReturnCode.INCLUDE;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    return false;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  @Override<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  public ReturnCode filterKeyValue(Cell ignored) {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    return currentReturnCode;<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>  @Override<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public Cell getNextCellHint(Cell currentKV) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    // skip to the next range's start row<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    return CellUtil.createFirstOnRow(range.startRow, 0,<a name="line.135"></a>
-<span class="sourceLineNo">136</span>        (short) range.startRow.length);<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>
-<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * @return The filter serialized using pb<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   */<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public byte[] toByteArray() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        .newBuilder();<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    for (RowRange range : rangeList) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      if (range != null) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        FilterProtos.RowRange.Builder rangebuilder = FilterProtos.RowRange.newBuilder();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (range.startRow != null)<a name="line.148"></a>
-<span class="sourceLineNo">149</span>          rangebuilder.setStartRow(UnsafeByteOperations.unsafeWrap(range.startRow));<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        rangebuilder.setStartRowInclusive(range.startRowInclusive);<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        if (range.stopRow != null)<a name="line.151"></a>
-<span class="sourceLineNo">152</span>          rangebuilder.setStopRow(UnsafeByteOperations.unsafeWrap(range.stopRow));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        rangebuilder.setStopRowInclusive(range.stopRowInclusive);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        range.isScan = Bytes.equals(range.startRow, range.stopRow) ? 1 : 0;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        builder.addRowRangeList(rangebuilder.build());<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      }<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    return builder.build().toByteArray();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @param pbBytes A pb serialized instance<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @return An instance of MultiRowRangeFilter<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public static MultiRowRangeFilter parseFrom(final byte[] pbBytes)<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      throws DeserializationException {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    FilterProtos.MultiRowRangeFilter proto;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    try {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      proto = FilterProtos.MultiRowRangeFilter.parseFrom(pbBytes);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    } catch (InvalidProtocolBufferException e) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      throw new DeserializationException(e);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    int length = proto.getRowRangeListCount();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    List&lt;FilterProtos.RowRange&gt; rangeProtos = proto.getRowRangeListList();<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    List&lt;RowRange&gt; rangeList = new ArrayList&lt;RowRange&gt;(length);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    for (FilterProtos.RowRange rangeProto : rangeProtos) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      RowRange range = new RowRange(rangeProto.hasStartRow() ? rangeProto.getStartRow()<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          .toByteArray() : null, rangeProto.getStartRowInclusive(), rangeProto.hasStopRow() ?<a name="line.179"></a>
-<span class="sourceLineNo">180</span>              rangeProto.getStopRow().toByteArray() : null, rangeProto.getStopRowInclusive());<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      rangeList.add(range);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    }<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    return new MultiRowRangeFilter(rangeList);<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">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @param o the filter to compare<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   *         corresponding fields in other. Used for testing.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    if (o == this)<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return true;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    if (!(o instanceof MultiRowRangeFilter))<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return false;<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    MultiRowRangeFilter other = (MultiRowRangeFilter) o;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (this.rangeList.size() != other.rangeList.size())<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return false;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    for (int i = 0; i &lt; rangeList.size(); ++i) {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      RowRange thisRange = this.rangeList.get(i);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      RowRange otherRange = other.rangeList.get(i);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      if (!(Bytes.equals(thisRange.startRow, otherRange.startRow) &amp;&amp; Bytes.equals(<a name="line.203"></a>
-<span class="sourceLineNo">204</span>          thisRange.stopRow, otherRange.stopRow) &amp;&amp; (thisRange.startRowInclusive ==<a name="line.204"></a>
-<span class="sourceLineNo">205</span>          otherRange.startRowInclusive) &amp;&amp; (thisRange.stopRowInclusive ==<a name="line.205"></a>
-<span class="sourceLineNo">206</span>          otherRange.stopRowInclusive))) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        return false;<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>    return true;<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>  /**<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * calculate the position where the row key in the ranges list.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   *<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @param rowKey the row key to calculate<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * @return index the position of the row key<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  private int getNextRangeIndex(byte[] rowKey) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    RowRange temp = new RowRange(rowKey, true, null, true);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    int index = Collections.binarySearch(rangeList, temp);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    if (index &lt; 0) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      int insertionPosition = -index - 1;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      // check if the row key in the range before the insertion position<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      if (insertionPosition != 0 &amp;&amp; rangeList.get(insertionPosition - 1).contains(rowKey)) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        return insertionPosition - 1;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      // check if the row key is before the first range<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      if (insertionPosition == 0 &amp;&amp; !rangeList.get(insertionPosition).contains(rowKey)) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        return ROW_BEFORE_FIRST_RANGE;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      if (!initialized) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        initialized = true;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      return insertionPosition;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    // the row key equals one of the start keys, and the the range exclude the start key<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    if(rangeList.get(index).startRowInclusive == false) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      EXCLUSIVE = true;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    return index;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  }<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>   * sort the ranges and if the ranges with overlap, then merge them.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   *<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * @param ranges the list of ranges to sort and merge.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * @return the ranges after sort and merge.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  public static List&lt;RowRange&gt; sortAndMerge(List&lt;RowRange&gt; ranges) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    if (ranges.isEmpty()) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      throw new IllegalArgumentException("No ranges found.");<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    List&lt;RowRange&gt; invalidRanges = new ArrayList&lt;RowRange&gt;();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    List&lt;RowRange&gt; newRanges = new ArrayList&lt;RowRange&gt;(ranges.size());<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    Collections.sort(ranges);<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    if(ranges.get(0).isValid()) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      if (ranges.size() == 1) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        newRanges.add(ranges.get(0));<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      }<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      invalidRanges.add(ranges.get(0));<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    byte[] lastStartRow = ranges.get(0).startRow;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    boolean lastStartRowInclusive = ranges.get(0).startRowInclusive;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    byte[] lastStopRow = ranges.get(0).stopRow;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    boolean lastStopRowInclusive = ranges.get(0).stopRowInclusive;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    int i = 1;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    for (; i &lt; ranges.size(); i++) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      RowRange range = ranges.get(i);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      if (!range.isValid()) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        invalidRanges.add(range);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      if(Bytes.equals(lastStopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.276"></a>
-<span class="sourceLineNo">277</span>            lastStopRowInclusive));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        break;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // with overlap in the ranges<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      if ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp; !(lastStopRowInclusive == false &amp;&amp;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          range.isStartRowInclusive() == false))) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.285"></a>
-<span class="sourceLineNo">286</span>              range.stopRowInclusive));<a name="line.286"></a>
-<span class="sourceLineNo">287</span>          break;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        // if first range contains second range, ignore the second range<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          if((Bytes.compareTo(lastStopRow, range.stopRow) == 0)) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>            if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>              lastStopRowInclusive = true;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>          if ((i + 1) == ranges.size()) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.297"></a>
-<span class="sourceLineNo">298</span>                lastStopRowInclusive));<a name="line.298"></a>
-<span class="sourceLineNo">299</span>          }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>          lastStopRow = range.stopRow;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          if ((i + 1) &lt; ranges.size()) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>            i++;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>            range = ranges.get(i);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>            if (!range.isValid()) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>              invalidRanges.add(range);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>            }<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          } else {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                lastStopRowInclusive));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>            break;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>          }<a name="line.313"></a>
-<span class="sourceLineNo">314</span>          while ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.314"></a>
-<span class="sourceLineNo">315</span>              (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>              (lastStopRowInclusive == true || range.startRowInclusive==true))) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>            if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>              break;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>            }<a name="line.319"></a>
-<span class="sourceLineNo">320</span>            // if this first range contain second range, ignore the second range<a name="line.320"></a>
-<span class="sourceLineNo">321</span>            if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>              if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>                lastStopRowInclusive = true;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>              }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>              i++;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>              if (i &lt; ranges.size()) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>                range = ranges.get(i);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>                if (!range.isValid()) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>                  invalidRanges.add(range);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>                }<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              } else {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>                break;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>              }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            } else {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>              lastStopRow = range.stopRow;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>              lastStopRowInclusive = range.stopRowInclusive;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>              i++;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>              if (i &lt; ranges.size()) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>                range = ranges.get(i);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>                if (!range.isValid()) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>                  invalidRanges.add(range);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>                }<a name="line.342"></a>
-<span class="sourceLineNo">343</span>              } else {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>                break;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>              }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>            }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          }<a name="line.347"></a>
-<span class="sourceLineNo">348</span>          if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>            if((Bytes.compareTo(lastStopRow, range.startRow) &lt; 0) ||<a name="line.349"></a>
-<span class="sourceLineNo">350</span>                (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>                lastStopRowInclusive == false &amp;&amp; range.startRowInclusive == false)) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.352"></a>
-<span class="sourceLineNo">353</span>                  lastStopRowInclusive));<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              newRanges.add(range);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            } else {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>                  range.stopRowInclusive));<a name="line.357"></a>
-<span class="sourceLineNo">358</span>              break;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>            }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>          }<a name="line.360"></a>
-<span class="sourceLineNo">361</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.361"></a>
-<span class="sourceLineNo">362</span>              lastStopRowInclusive));<a name="line.362"></a>
-<span class="sourceLineNo">363</span>          if ((i + 1) == ranges.size()) {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>            newRanges.add(range);<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          }<a name="line.365"></a>
-<span class="sourceLineNo">366</span>          lastStartRow = range.startRow;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>          lastStartRowInclusive = range.startRowInclusive;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          lastStopRow = range.stopRow;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      } else {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.372"></a>
-<span class="sourceLineNo">373</span>            lastStopRowInclusive));<a name="line.373"></a>
-<span class="sourceLineNo">374</span>        if ((i + 1) == ranges.size()) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          newRanges.add(range);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>        }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>        lastStartRow = range.startRow;<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        lastStartRowInclusive = range.startRowInclusive;<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        lastStopRow = range.stopRow;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        lastStopRowInclusive = range.stopRowInclusive;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    // check the remaining ranges<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    for(int j=i; j &lt; ranges.size(); j++) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      if(!ranges.get(j).isValid()) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>        invalidRanges.add(ranges.get(j));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // if invalid range exists, throw the exception<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    if (invalidRanges.size() != 0) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      throwExceptionForInvalidRanges(invalidRanges, true);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // If no valid ranges found, throw the exception<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    if(newRanges.isEmpty()) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      throw new IllegalArgumentException("No valid ranges found.");<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    }<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return newRanges;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  private static void throwExceptionForInvalidRanges(List&lt;RowRange&gt; invalidRanges,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      boolean details) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    StringBuilder sb = new StringBuilder();<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    sb.append(invalidRanges.size()).append(" invaild ranges.\n");<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    if (details) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      for (RowRange range : invalidRanges) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        sb.append(<a name="line.406"></a>
-<span class="sourceLineNo">407</span>            "Invalid range: start row =&gt; " + Bytes.toString(range.startRow) + ", stop row =&gt; "<a name="line.407"></a>
-<span class="sourceLineNo">408</span>                + Bytes.toString(range.stopRow)).append('\n');<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      }<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    throw new IllegalArgumentException(sb.toString());<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  @InterfaceAudience.Public<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  @InterfaceStability.Evolving<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  public static class RowRange implements Comparable&lt;RowRange&gt; {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    private byte[] startRow;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    private boolean startRowInclusive = true;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    private byte[] stopRow;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    private boolean stopRowInclusive = false;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    private int isScan = 0;<a name="line.421"></a>
+<span class="sourceLineNo">119</span>        } else {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<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>    } else {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      currentReturnCode = ReturnCode.INCLUDE;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return false;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public ReturnCode filterKeyValue(Cell ignored) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    return currentReturnCode;<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>  @Override<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  public Cell getNextCellHint(Cell currentKV) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    // skip to the next range's start row<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    return CellUtil.createFirstOnRow(range.startRow, 0,<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        (short) range.startRow.length);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  }<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>   * @return The filter serialized using pb<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   */<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public byte[] toByteArray() {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        .newBuilder();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    for (RowRange range : rangeList) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      if (range != null) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        FilterProtos.RowRange.Builder rangebuilder = FilterProtos.RowRange.newBuilder();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        if (range.startRow != null)<a name="line.150"></a>
+<span class="sourceLineNo">151</span>          rangebuilder.setStartRow(UnsafeByteOperations.unsafeWrap(range.startRow));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        rangebuilder.setStartRowInclusive(range.startRowInclusive);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        if (range.stopRow != null)<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          rangebuilder.setStopRow(UnsafeByteOperations.unsafeWrap(range.stopRow));<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        rangebuilder.setStopRowInclusive(range.stopRowInclusive);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        builder.addRowRangeList(rangebuilder.build());<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>    return builder.build().toByteArray();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  }<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>   * @param pbBytes A pb serialized instance<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @return An instance of MultiRowRangeFilter<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static MultiRowRangeFilter parseFrom(final byte[] pbBytes)<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      throws DeserializationException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    FilterProtos.MultiRowRangeFilter proto;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    try {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      proto = FilterProtos.MultiRowRangeFilter.parseFrom(pbBytes);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    } catch (InvalidProtocolBufferException e) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      throw new DeserializationException(e);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    int length = proto.getRowRangeListCount();<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    List&lt;FilterProtos.RowRange&gt; rangeProtos = proto.getRowRangeListList();<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    List&lt;RowRange&gt; rangeList = new ArrayList&lt;&gt;(length);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    for (FilterProtos.RowRange rangeProto : rangeProtos) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      RowRange range = new RowRange(rangeProto.hasStartRow() ? rangeProto.getStartRow()<a name="line.179"></a>
+<span class="sourceLineNo">180</span>          .toByteArray() : null, rangeProto.getStartRowInclusive(), rangeProto.hasStopRow() ?<a name="line.180"></a>
+<span class="sourceLineNo">181</span>              rangeProto.getStopRow().toByteArray() : null, rangeProto.getStopRowInclusive());<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      rangeList.add(range);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    return new MultiRowRangeFilter(rangeList);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
+<span class="sourceLineNo">186</span><a name="line.186"></a>
+<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @param o the filter to compare<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   *         corresponding fields in other. Used for testing.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    if (o == this)<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      return true;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    if (!(o instanceof MultiRowRangeFilter))<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      return false;<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>    MultiRowRangeFilter other = (MultiRowRangeFilter) o;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (this.rangeList.size() != other.rangeList.size())<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      return false;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    for (int i = 0; i &lt; rangeList.size(); ++i) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      RowRange thisRange = this.rangeList.get(i);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      RowRange otherRange = other.rangeList.get(i);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      if (!(Bytes.equals(thisRange.startRow, otherRange.startRow) &amp;&amp; Bytes.equals(<a name="line.204"></a>
+<span class="sourceLineNo">205</span>          thisRange.stopRow, otherRange.stopRow) &amp;&amp; (thisRange.startRowInclusive ==<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          otherRange.startRowInclusive) &amp;&amp; (thisRange.stopRowInclusive ==<a name="line.206"></a>
+<span class="sourceLineNo">207</span>          otherRange.stopRowInclusive))) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>        return false;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      }<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    }<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    return true;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  }<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>   * calculate the position where the row key in the ranges list.<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   *<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * @param rowKey the row key to calculate<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * @return index the position of the row key<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private int getNextRangeIndex(byte[] rowKey) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    RowRange temp = new RowRange(rowKey, true, null, true);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int index = Collections.binarySearch(rangeList, temp);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if (index &lt; 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      int insertionPosition = -index - 1;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      // check if the row key in the range before the insertion position<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      if (insertionPosition != 0 &amp;&amp; rangeList.get(insertionPosition - 1).contains(rowKey)) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>        return insertionPosition - 1;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      }<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      // check if the row key is before the first range<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      if (insertionPosition == 0 &amp;&amp; !rangeList.get(insertionPosition).contains(rowKey)) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        return ROW_BEFORE_FIRST_RANGE;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      if (!initialized) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>        initialized = true;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      return insertionPosition;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    // the row key equals one of the start keys, and the the range exclude the start key<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    if(rangeList.get(index).startRowInclusive == false) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      EXCLUSIVE = true;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    return index;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
+<span class="sourceLineNo">244</span><a name="line.244"></a>
+<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * sort the ranges and if the ranges with overlap, then merge them.<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   *<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * @param ranges the list of ranges to sort and merge.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * @return the ranges after sort and merge.<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   */<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  public static List&lt;RowRange&gt; sortAndMerge(List&lt;RowRange&gt; ranges) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    if (ranges.isEmpty()) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      throw new IllegalArgumentException("No ranges found.");<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    List&lt;RowRange&gt; invalidRanges = new ArrayList&lt;&gt;();<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    List&lt;RowRange&gt; newRanges = new ArrayList&lt;&gt;(ranges.size());<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    Collections.sort(ranges);<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    if(ranges.get(0).isValid()) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      if (ranges.size() == 1) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        newRanges.add(ranges.get(0));<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    } else {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      invalidRanges.add(ranges.get(0));<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>    byte[] lastStartRow = ranges.get(0).startRow;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    boolean lastStartRowInclusive = ranges.get(0).startRowInclusive;<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    byte[] lastStopRow = ranges.get(0).stopRow;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    boolean lastStopRowInclusive = ranges.get(0).stopRowInclusive;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    int i = 1;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    for (; i &lt; ranges.size(); i++) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      RowRange range = ranges.get(i);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      if (!range.isValid()) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        invalidRanges.add(range);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      if(Bytes.equals(lastStopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.277"></a>
+<span class="sourceLineNo">278</span>            lastStopRowInclusive));<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>      // with overlap in the ranges<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      if ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp; !(lastStopRowInclusive == false &amp;&amp;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>          range.isStartRowInclusive() == false))) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.286"></a>
+<span class="sourceLineNo">287</span>              range.stopRowInclusive));<a name="line.287"></a>
+<span class="sourceLineNo">288</span>          break;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        }<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        // if first range contains second range, ignore the second range<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          if((Bytes.compareTo(lastStopRow, range.stopRow) == 0)) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>            if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>              lastStopRowInclusive = true;<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>          if ((i + 1) == ranges.size()) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.298"></a>
+<span class="sourceLineNo">299</span>                lastStopRowInclusive));<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        } else {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>          lastStopRow = range.stopRow;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>          if ((i + 1) &lt; ranges.size()) {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>            i++;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>            range = ranges.get(i);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>            if (!range.isValid()) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>              invalidRanges.add(range);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>            }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          } else {<a name="line.310"></a>
+<span class="sourceLineNo">311</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.311"></a>
+<span class="sourceLineNo">312</span>                lastStopRowInclusive));<a name="line.312"></a>
+<span class="sourceLineNo">313</span>            break;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          }<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          while ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.315"></a>
+<span class="sourceLineNo">316</span>              (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>              (lastStopRowInclusive == true || range.startRowInclusive==true))) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>            if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>              break;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>            }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>            // if this first range contain second range, ignore the second range<a name="line.321"></a>
+<span class="sourceLineNo">322</span>            if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>              if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>                lastStopRowInclusive = true;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>              i++;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>              if (i &lt; ranges.size()) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>                range = ranges.get(i);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>                if (!range.isValid()) {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>                  invalidRanges.add(range);<a name="line.330"></a>
+<span class="sourceLineNo">331</span>                }<a name="line.331"></a>
+<span class="sourceLineNo">332</span>              } else {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>                break;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>              }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>            } else {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>              lastStopRow = range.stopRow;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>              lastStopRowInclusive = range.stopRowInclusive;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>              i++;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>              if (i &lt; ranges.size()) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>                range = ranges.get(i);<a name="line.340"></a>
+<span class="sourceLineNo">341</span>                if (!range.isValid()) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>                  invalidRanges.add(range);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>                }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>              } else {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>                break;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>              }<a name="line.346"></a>
+<span class="sourceLineNo">347</span>            }<a name="line.347"></a>
+<span class="sourceLineNo">348</span>          }<a name="line.348"></a>
+<span class="sourceLineNo">349</span>          if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>            if((Bytes.compareTo(lastStopRow, range.startRow) &lt; 0) ||<a name="line.350"></a>
+<span class="sourceLineNo">351</span>                (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.351"></a>
+<span class="sourceLineNo">352</span>                lastStopRowInclusive == false &amp;&amp; range.startRowInclusive == false)) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.353"></a>
+<span class="sourceLineNo">354</span>                  lastStopRowInclusive));<a name="line.354"></a>
+<span class="sourceLineNo">355</span>              newRanges.add(range);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>            } else {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.357"></a>
+<span class="sourceLineNo">358</span>                  range.stopRowInclusive));<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>          }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.362"></a>
+<span class="sourceLineNo">363</span>              lastStopRowInclusive));<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          if ((i + 1) == ranges.size()) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>            newRanges.add(range);<a name="line.365"></a>
+<span class="sourceLineNo">366</span>          }<a name="line.366"></a>
+<span class="sourceLineNo">367</span>          lastStartRow = range.startRow;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>          lastStartRowInclusive = range.startRowInclusive;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>          lastStopRow = range.stopRow;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        }<a name="line.371"></a>
+<span class="sourceLineNo">372</span>      } else {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.373"></a>
+<span class="sourceLineNo">374</span>            lastStopRowInclusive));<a name="line.374"></a>
+<span class="sourceLineNo">375</span>        if ((i + 1) == ranges.size()) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          newRanges.add(range);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        }<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        lastStartRow = range.startRow;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>        lastStartRowInclusive = range.startRowInclusive;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        lastStopRow = range.stopRow;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        lastStopRowInclusive = range.stopRowInclusive;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    // check the remaining ranges<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    for(int j=i; j &lt; ranges.size(); j++) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      if(!ranges.get(j).isValid()) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>        invalidRanges.add(ranges.get(j));<a name="line.387"></a>
+<span class="sourceLineNo">388</span>      }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    }<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    // if invalid range exists, throw the exception<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    if (invalidRanges.size() != 0) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      throwExceptionForInvalidRanges(invalidRanges, true);<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    // If no valid ranges found, throw the exception<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    if(newRanges.isEmpty()) {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      throw new IllegalArgumentException("No valid ranges found.");<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    return newRanges;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  private static void throwExceptionForInvalidRanges(List&lt;RowRange&gt; invalidRanges,<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      boolean details) {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    StringBuilder sb = new StringBuilder();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    sb.append(invalidRanges.size()).append(" invaild ranges.\n");<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    if (details) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>      for (RowRange range : invalidRanges) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        sb.append(<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            "Invalid range: start row =&gt; " + Bytes.toString(range.startRow) + ", stop row =&gt; "<a name="line.408"></a>
+<span class="sourceLineNo">409</span>                + Bytes.toString(range.stopRow)).append('\n');<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    throw new IllegalArgumentException(sb.toString());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
+<span class="sourceLineNo">414</span><a name="line.414"></a>
+<span class="sourceLineNo">415</span>  @InterfaceAudience.Public<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  @InterfaceStability.Evolving<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  public static class RowRange implements Comparable&lt;RowRange&gt; {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    private byte[] startRow;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    private boolean startRowInclusive = true;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    private byte[] stopRow;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    private boolean stopRowInclusive = false;<a name="line.421"></a>
 <span class="sourceLineNo">422</span><a name="line.422"></a>
 <span class="sourceLineNo">423</span>    public RowRange() {<a name="line.423"></a>
 <span class="sourceLineNo">424</span>    }<a name="line.424"></a>
@@ -449,74 +449,73 @@
 <span class="sourceLineNo">441</span>      this.startRowInclusive = startRowInclusive;<a name="line.441"></a>
 <span class="sourceLineNo">442</span>      this.stopRow = (stopRow == null) ? HConstants.EMPTY_BYTE_ARRAY :stopRow;<a name="line.442"></a>
 <span class="sourceLineNo">443</span>      this.stopRowInclusive = stopRowInclusive;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      isScan = Bytes.equals(startRow, stopRow) ? 1 : 0;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>    public byte[] getStartRow() {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      return startRow;<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>    public byte[] getStopRow() {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      return stopRow;<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>    /**<a name="line.455"></a>
-<span class="sourceLineNo">456</span>     * @return if start row is inclusive.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>     */<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    public boolean isStartRowInclusive() {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      return startRowInclusive;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>    /**<a name="line.462"></a>
-<span class="sourceLineNo">463</span>     * @return if stop row is inclusive.<a name="line.463"></a>
-<span class="sourceLineNo">464</span>     */<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    public boolean isStopRowInclusive() {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      return stopRowInclusive;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    }<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>    public boolean contains(byte[] row) {<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      return contains(row, 0, row.length);<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>    public boolean contains(byte[] buffer, int offset, int length) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      if(startRowInclusive) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>        if(stopRowInclusive) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.476"></a>
-<span class="sourceLineNo">477</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.477"></a>
-<span class="sourceLineNo">478</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= isScan);<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        } else {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.480"></a>
-<span class="sourceLineNo">481</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.481"></a>
-<span class="sourceLineNo">482</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; isScan);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>        }<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      } else {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>        if(stopRowInclusive) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.486"></a>
-<span class="sourceLineNo">487</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.487"></a>
-<span class="sourceLineNo">488</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= isScan);<a name="line.488"></a>
-<span class="sourceLineNo">489</span>        } else {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.490"></a>
-<span class="sourceLineNo">491</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.491"></a>
-<span class="sourceLineNo">492</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; isScan);<a name="line.492"></a>
-<span class="sourceLineNo">493</span>        }<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      }<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span><a name="line.496"></a>
-<span class="sourceLineNo">497</span>    @Override<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="EQ_COMPARETO_USE_OBJECT_EQUALS",<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      justification="This compareTo is not of this Object, but of referenced RowRange")<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    public int compareTo(RowRange other) {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      return Bytes.compareTo(this.startRow, other.startRow);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    }<a name="line.502"></a>
-<span class="sourceLineNo">503</span><a name="line.503"></a>
-<span class="sourceLineNo">504</span>    public boolean isValid() {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      return Bytes.equals(startRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.505"></a>
-<span class="sourceLineNo">506</span>          || Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.506"></a>
-<span class="sourceLineNo">507</span>          || Bytes.compareTo(startRow, stopRow) &lt; 0<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          || (Bytes.compareTo(startRow, stopRow) == 0 &amp;&amp; stopRowInclusive == true);<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>  }<a name="line.510"></a>
-<span class="sourceLineNo">511</span>}<a name="line.511"></a>
+<span class="sourceLineNo">444</span>    }<a name="line.444"></a>
+<span class="sourceLineNo">445</span><a name="line.445"></a>
+<span class="sourceLineNo">446</span>    public byte[] getStartRow() {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      return startRow;<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    }<a name="line.448"></a>
+<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">450</span>    public byte[] getStopRow() {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      return stopRow;<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>    /**<a name="line.454"></a>
+<span class="sourceLineNo">455</span>     * @return if start row is inclusive.<a name="line.455"></a>
+<span class="sourceLineNo">456</span>     */<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    public boolean isStartRowInclusive() {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      return startRowInclusive;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>    /**<a name="line.461"></a>
+<span class="sourceLineNo">462</span>     * @return if stop row is inclusive.<a name="line.462"></a>
+<span class="sourceLineNo">463</span>     */<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    public boolean isStopRowInclusive() {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      return stopRowInclusive;<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    }<a name="line.466"></a>
+<span class="sourceLineNo">467</span><a name="line.467"></a>
+<span class="sourceLineNo">468</span>    public boolean contains(byte[] row) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      return contains(row, 0, row.length);<a name="line.469"></a>
+<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
+<span class="sourceLineNo">471</span><a name="line.471"></a>
+<span class="sourceLineNo">472</span>    public boolean contains(byte[] buffer, int offset, int length) {<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      if(startRowInclusive) {<a name="line.473"></a>
+<span class="sourceLineNo">474</span>        if(stopRowInclusive) {<a name="line.474"></a>
+<span class="sourceLineNo">475</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.475"></a>
+<span class="sourceLineNo">476</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.476"></a>
+<span class="sourceLineNo">477</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= 0);<a name="line.477"></a>
+<span class="sourceLineNo">478</span>        } else {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.479"></a>
+<span class="sourceLineNo">480</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.480"></a>
+<span class="sourceLineNo">481</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; 0);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>        }<a name="line.482"></a>
+<span class="sourceLineNo">483</span>      } else {<a name="line.483"></a>
+<span class="sourceLineNo">484</span>        if(stopRowInclusive) {<a name="line.484"></a>
+<span class="sourceLineNo">485</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.485"></a>
+<span class="sourceLineNo">486</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.486"></a>
+<span class="sourceLineNo">487</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= 0);<a name="line.487"></a>
+<span class="sourceLineNo">488</span>        } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.489"></a>
+<span class="sourceLineNo">490</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.490"></a>
+<span class="sourceLineNo">491</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; 0);<a name="line.491"></a>
+<span class="sourceLineNo">492</span>        }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      }<a name="line.493"></a>
+<span class="sourceLineNo">494</span>    }<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>    @Override<a name="line.496"></a>
+<span class="sourceLineNo">497</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="EQ_COMPARETO_USE_OBJECT_EQUALS",<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      justification="This compareTo is not of this Object, but of referenced RowRange")<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    public int compareTo(RowRange other) {<a name="line.499"></a>
+<span class="sourceLineNo">500</span>      return Bytes.compareTo(this.startRow, other.startRow);<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    }<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    public boolean isValid() {<a name="line.503"></a>
+<span class="sourceLineNo">504</span>      return Bytes.equals(startRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.504"></a>
+<span class="sourceLineNo">505</span>          || Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.505"></a>
+<span class="sourceLineNo">506</span>          || Bytes.compareTo(startRow, stopRow) &lt; 0<a name="line.506"></a>
+<span class="sourceLineNo">507</span>          || (Bytes.compareTo(startRow, stopRow) == 0 &amp;&amp; stopRowInclusive == true);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span>  }<a name="line.509"></a>
+<span class="sourceLineNo">510</span>}<a name="line.510"></a>
 
 
 


[34/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/io/crypto/Encryption.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/io/crypto/Encryption.html b/apidocs/org/apache/hadoop/hbase/io/crypto/Encryption.html
index 7f5fd06..cefe0fa 100644
--- a/apidocs/org/apache/hadoop/hbase/io/crypto/Encryption.html
+++ b/apidocs/org/apache/hadoop/hbase/io/crypto/Encryption.html
@@ -788,7 +788,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getKeyProvider</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/crypto/KeyProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">KeyProvider</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.539">getKeyProvider</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/crypto/KeyProvider.html" title="interface in org.apache.hadoop.hbase.io.crypto">KeyProvider</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.538">getKeyProvider</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 <a name="incrementIv-byte:A-">
@@ -797,7 +797,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementIv</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.564">incrementIv</a>(byte[]&nbsp;iv)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.563">incrementIv</a>(byte[]&nbsp;iv)</pre>
 </li>
 </ul>
 <a name="incrementIv-byte:A-int-">
@@ -806,7 +806,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>incrementIv</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.568">incrementIv</a>(byte[]&nbsp;iv,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/crypto/Encryption.html#line.567">incrementIv</a>(byte[]&nbsp;iv,
                                int&nbsp;v)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html b/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html
index d4a6bea..18086c0 100644
--- a/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html
+++ b/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html
@@ -383,7 +383,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html#line.189">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html#line.3">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -403,7 +403,7 @@ for (DataBlockEncoding c : DataBlockEncoding.values())
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html#line.189">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html#line.3">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html b/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
index 16cacee..4db2750 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
@@ -363,7 +363,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureIncrementalLoad</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.485">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.483">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator)
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -391,7 +391,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureIncrementalLoad</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.504">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.502">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                             <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;tableDescriptor,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator)
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -419,7 +419,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>configureIncrementalLoadMap</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.559">configureIncrementalLoadMap</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.557">configureIncrementalLoadMap</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                                <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;tableDescriptor)
                                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html b/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
index a82eb1c..bc69cd3 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  @InterfaceStability.Stable
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.109">LoadIncrementalHFiles</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.108">LoadIncrementalHFiles</a>
 extends org.apache.hadoop.conf.Configured
 implements org.apache.hadoop.util.Tool</pre>
 <div class="block">Tool to load the output of HFileOutputFormat into an existing table.</div>
@@ -152,15 +152,15 @@ implements org.apache.hadoop.util.Tool</pre>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#MAX_FILES_PER_REGION_PER_FAMILY">MAX_FILES_PER_REGION_PER_FAMILY</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#IGNORE_UNMATCHED_CF_CONF_KEY">IGNORE_UNMATCHED_CF_CONF_KEY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#NAME">NAME</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#MAX_FILES_PER_REGION_PER_FAMILY">MAX_FILES_PER_REGION_PER_FAMILY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#SILENCE_CONF_KEY">SILENCE_CONF_KEY</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#NAME">NAME</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -393,7 +393,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.113">NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.112">NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.NAME">Constant Field Values</a></dd>
@@ -406,7 +406,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_FILES_PER_REGION_PER_FAMILY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.115">MAX_FILES_PER_REGION_PER_FAMILY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.114">MAX_FILES_PER_REGION_PER_FAMILY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.MAX_FILES_PER_REGION_PER_FAMILY">Constant Field Values</a></dd>
@@ -419,23 +419,23 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>CREATE_TABLE_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.118">CREATE_TABLE_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.117">CREATE_TABLE_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.CREATE_TABLE_CONF_KEY">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
-<a name="SILENCE_CONF_KEY">
+<a name="IGNORE_UNMATCHED_CF_CONF_KEY">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>SILENCE_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.119">SILENCE_CONF_KEY</a></pre>
+<h4>IGNORE_UNMATCHED_CF_CONF_KEY</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.118">IGNORE_UNMATCHED_CF_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.SILENCE_CONF_KEY">Constant Field Values</a></dd>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.IGNORE_UNMATCHED_CF_CONF_KEY">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
@@ -445,7 +445,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ALWAYS_COPY_FILES</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.120">ALWAYS_COPY_FILES</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.119">ALWAYS_COPY_FILES</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.ALWAYS_COPY_FILES">Constant Field Values</a></dd>
@@ -466,7 +466,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LoadIncrementalHFiles</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.142">LoadIncrementalHFiles</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.141">LoadIncrementalHFiles</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -488,7 +488,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>doBulkLoad</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.336">doBulkLoad</a>(org.apache.hadoop.fs.Path&nbsp;hfofDir,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.335">doBulkLoad</a>(org.apache.hadoop.fs.Path&nbsp;hfofDir,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
                        <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator)
@@ -515,7 +515,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>doBulkLoad</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.373">doBulkLoad</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;map,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.372">doBulkLoad</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;map,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
                        <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator,
@@ -545,7 +545,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>doBulkLoad</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.417">doBulkLoad</a>(org.apache.hadoop.fs.Path&nbsp;hfofDir,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.416">doBulkLoad</a>(org.apache.hadoop.fs.Path&nbsp;hfofDir,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;admin,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
                        <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator,
@@ -576,7 +576,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>buildClientServiceCallable</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.ClientServiceCallable&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.517">buildClientServiceCallable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.ClientServiceCallable&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.516">buildClientServiceCallable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                                                                                                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                                                                                   byte[]&nbsp;first,
                                                                                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.LoadQueueItem&gt;&nbsp;lqis,
@@ -814,7 +814,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>inferBoundaries</h4>
-<pre>public static&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1146">inferBoundaries</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;bdryMap)</pre>
+<pre>public static&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1161">inferBoundaries</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;bdryMap)</pre>
 </li>
 </ul>
 <a name="run-java.lang.String-java.util.Map-org.apache.hadoop.hbase.TableName-">
@@ -823,7 +823,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.LoadQueueItem,<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1225">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dirPath,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.LoadQueueItem,<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1240">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dirPath,
                                                                                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;map,
                                                                                                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                                                                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
@@ -839,7 +839,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1261">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1276">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -855,7 +855,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1274">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1289">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -869,7 +869,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setBulkToken</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1289">setBulkToken</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stagingDir)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#line.1304">setBulkToken</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stagingDir)</pre>
 <div class="block">Called from replication sink, where it manages bulkToken(staging directory) by itself. This is
  used only when SecureBulkLoadEndpoint is configured in hbase.coprocessor.region.classes
  property. This directory is used as a temporary directory where all files are initially

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html b/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
index a5b0896..49bdacf 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
@@ -236,7 +236,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createSubmittableJob</h4>
-<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.99">createSubmittableJob</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.98">createSubmittableJob</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                                                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Sets up the actual job.</div>
@@ -257,7 +257,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.236">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.235">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -273,7 +273,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.263">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.262">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Main entry point.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html b/apidocs/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html
index b6e8346..751003b 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html
@@ -408,7 +408,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>createRecordReader</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.156">createRecordReader</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.155">createRecordReader</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
                                                                                                   org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
                                                                                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Builds a <a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a>. If no <a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a> was provided, uses
@@ -436,7 +436,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartEndKeys</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[][],byte[][]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.217">getStartEndKeys</a>()
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[][],byte[][]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.216">getStartEndKeys</a>()
                                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -450,7 +450,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplits</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.232">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.231">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
                                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Calculates the splits that will serve as input for the map tasks. The
  number of splits matches the number of regions in a table.</div>
@@ -475,7 +475,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>includeRegionInSplit</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.537">includeRegionInSplit</a>(byte[]&nbsp;startKey,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.536">includeRegionInSplit</a>(byte[]&nbsp;startKey,
                                        byte[]&nbsp;endKey)</pre>
 <div class="block">Test if the given region is to be included in the InputSplit while splitting
  the regions of a table.
@@ -504,7 +504,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionLocator</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.544">getRegionLocator</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.543">getRegionLocator</a>()</pre>
 <div class="block">Allows subclasses to get the <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client"><code>RegionLocator</code></a>.</div>
 </li>
 </ul>
@@ -514,7 +514,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getTable</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.554">getTable</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.553">getTable</a>()</pre>
 <div class="block">Allows subclasses to get the <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a>.</div>
 </li>
 </ul>
@@ -524,7 +524,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getAdmin</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.564">getAdmin</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.563">getAdmin</a>()</pre>
 <div class="block">Allows subclasses to get the <a href="../../../../../org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client"><code>Admin</code></a>.</div>
 </li>
 </ul>
@@ -534,7 +534,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeTable</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.578">initializeTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.577">initializeTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Allows subclasses to initialize the table information.</div>
@@ -553,7 +553,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getScan</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.594">getScan</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.593">getScan</a>()</pre>
 <div class="block">Gets the scan defining the actual details like columns etc.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -567,7 +567,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>setScan</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.604">setScan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.603">setScan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)</pre>
 <div class="block">Sets the scan defining the actual details like columns etc.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -581,7 +581,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableRecordReader</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.614">setTableRecordReader</a>(<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">TableRecordReader</a>&nbsp;tableRecordReader)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.613">setTableRecordReader</a>(<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">TableRecordReader</a>&nbsp;tableRecordReader)</pre>
 <div class="block">Allows subclasses to set the <a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -596,7 +596,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.633">initialize</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.632">initialize</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Handle subclass specific set up.
  Each of the entry points used by the MapReduce framework,
@@ -622,7 +622,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockListLast">
 <li class="blockList">
 <h4>closeTable</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.642">closeTable</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#line.641">closeTable</a>()
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Close the Table and related objects that were initialized via
  <a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#initializeTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-"><code>initializeTable(Connection, TableName)</code></a>.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html b/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index 019971d..4863452 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.51">WALInputFormat</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.55">WALInputFormat</a>
 extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.WALKey,org.apache.hadoop.hbase.regionserver.wal.WALEdit&gt;</pre>
 <div class="block">Simple <code>InputFormat</code> for <code>WAL</code> files.</div>
 </li>
@@ -213,7 +213,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockList">
 <li class="blockList">
 <h4>START_TIME_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.54">START_TIME_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.58">START_TIME_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALInputFormat.START_TIME_KEY">Constant Field Values</a></dd>
@@ -226,7 +226,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>END_TIME_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.55">END_TIME_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.59">END_TIME_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALInputFormat.END_TIME_KEY">Constant Field Values</a></dd>
@@ -247,7 +247,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALInputFormat</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.51">WALInputFormat</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.55">WALInputFormat</a>()</pre>
 </li>
 </ul>
 </li>
@@ -264,7 +264,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplits</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.223">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.227">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
                                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -282,7 +282,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createRecordReader</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;org.apache.hadoop.hbase.wal.WALKey,org.apache.hadoop.hbase.regionserver.wal.WALEdit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.283">createRecordReader</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;org.apache.hadoop.hbase.wal.WALKey,org.apache.hadoop.hbase.regionserver.wal.WALEdit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.295">createRecordReader</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
                                                                                                                                                         org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
                                                                                                                                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                                                                                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index d7774cf..a49f9b4 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -75,13 +75,13 @@ var activeTableTab = "activeTableTab";
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
@@ -137,6 +137,33 @@ implements org.apache.hadoop.util.Tool</pre>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALPlayer.html#BULK_OUTPUT_CONF_KEY">BULK_OUTPUT_CONF_KEY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALPlayer.html#TABLE_MAP_KEY">TABLE_MAP_KEY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALPlayer.html#TABLES_KEY">TABLES_KEY</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -150,6 +177,10 @@ implements org.apache.hadoop.util.Tool</pre>
 <th class="colLast" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALPlayer.html#WALPlayer--">WALPlayer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected </code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALPlayer.html#WALPlayer-org.apache.hadoop.conf.Configuration-">WALPlayer</a></span>(org.apache.hadoop.conf.Configuration&nbsp;c)</code>&nbsp;</td>
 </tr>
@@ -214,19 +245,75 @@ implements org.apache.hadoop.util.Tool</pre>
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="BULK_OUTPUT_CONF_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>BULK_OUTPUT_CONF_KEY</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.73">BULK_OUTPUT_CONF_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALPlayer.BULK_OUTPUT_CONF_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="TABLES_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TABLES_KEY</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.74">TABLES_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALPlayer.TABLES_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="TABLE_MAP_KEY">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TABLE_MAP_KEY</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.75">TABLE_MAP_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALPlayer.TABLE_MAP_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
+<a name="WALPlayer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>WALPlayer</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.87">WALPlayer</a>()</pre>
+</li>
+</ul>
 <a name="WALPlayer-org.apache.hadoop.conf.Configuration-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALPlayer</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.87">WALPlayer</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.90">WALPlayer</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
 </li>
 </ul>
 </li>
@@ -243,7 +330,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createSubmittableJob</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.242">createSubmittableJob</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.265">createSubmittableJob</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Sets up the actual job.</div>
 <dl>
@@ -262,7 +349,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.337">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.368">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Main entry point.</div>
 <dl>
@@ -279,7 +366,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.343">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.374">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -343,13 +430,13 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/TableRecordReader.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/TableRecordReader.html b/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/TableRecordReader.html
index a8de222..7a9aad1 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/TableRecordReader.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/TableRecordReader.html
@@ -107,13 +107,13 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#setTableRecordReader-org.apache.hadoop.hbase.mapreduce.TableRecordReader-">setTableRecordReader</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">TableRecordReader</a>&nbsp;tableRecordReader)</code>
+<td class="colLast"><span class="typeNameLabel">MultiTableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html#setTableRecordReader-org.apache.hadoop.hbase.mapreduce.TableRecordReader-">setTableRecordReader</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">TableRecordReader</a>&nbsp;tableRecordReader)</code>
 <div class="block">Allows subclasses to set the <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">MultiTableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html#setTableRecordReader-org.apache.hadoop.hbase.mapreduce.TableRecordReader-">setTableRecordReader</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">TableRecordReader</a>&nbsp;tableRecordReader)</code>
+<td class="colLast"><span class="typeNameLabel">TableInputFormatBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#setTableRecordReader-org.apache.hadoop.hbase.mapreduce.TableRecordReader-">setTableRecordReader</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">TableRecordReader</a>&nbsp;tableRecordReader)</code>
 <div class="block">Allows subclasses to set the <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>TableRecordReader</code></a>.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/package-tree.html b/apidocs/org/apache/hadoop/hbase/package-tree.html
index 3e0a4c4..79fd5c8 100644
--- a/apidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/apidocs/org/apache/hadoop/hbase/package-tree.html
@@ -174,8 +174,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<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/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index c35d346..f619bef 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -119,10 +119,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.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/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/regionserver/BloomType.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/regionserver/BloomType.html b/apidocs/org/apache/hadoop/hbase/regionserver/BloomType.html
index f6acd9e..9696947 100644
--- a/apidocs/org/apache/hadoop/hbase/regionserver/BloomType.html
+++ b/apidocs/org/apache/hadoop/hbase/regionserver/BloomType.html
@@ -255,7 +255,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver">BloomType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/BloomType.html#line.40">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver">BloomType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/BloomType.html#line.4">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -275,7 +275,7 @@ for (BloomType c : BloomType.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver">BloomType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/BloomType.html#line.40">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver">BloomType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/BloomType.html#line.4">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html b/apidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html
index 77ef667..24f2856 100644
--- a/apidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html
+++ b/apidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationException.html
@@ -185,7 +185,7 @@
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#peerAdded-java.lang.String-">peerAdded</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
-&nbsp;</td>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>


[44/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html b/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
index 9fe40e4..24c8277 100644
--- a/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
+++ b/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
@@ -854,7 +854,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>SPLIT_POLICY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.77">SPLIT_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.76">SPLIT_POLICY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.SPLIT_POLICY">Constant Field Values</a></dd>
@@ -867,7 +867,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_FILESIZE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.86">MAX_FILESIZE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.85">MAX_FILESIZE</a></pre>
 <div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
  attribute which denotes the maximum size of the store file after which
  a region split occurs</div>
@@ -884,7 +884,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>OWNER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.90">OWNER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.89">OWNER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.OWNER">Constant Field Values</a></dd>
@@ -897,7 +897,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>OWNER_KEY</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.91">OWNER_KEY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.90">OWNER_KEY</a></pre>
 </li>
 </ul>
 <a name="READONLY">
@@ -906,7 +906,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>READONLY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.100">READONLY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.99">READONLY</a></pre>
 <div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
  attribute which denotes if the table is Read Only</div>
 <dl>
@@ -922,7 +922,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>COMPACTION_ENABLED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.110">COMPACTION_ENABLED</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.109">COMPACTION_ENABLED</a></pre>
 <div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
  attribute which denotes if the table is compaction enabled</div>
 <dl>
@@ -938,7 +938,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>MEMSTORE_FLUSHSIZE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.121">MEMSTORE_FLUSHSIZE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.120">MEMSTORE_FLUSHSIZE</a></pre>
 <div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
  attribute which represents the maximum size of the memstore after which
  its contents are flushed onto the disk</div>
@@ -955,7 +955,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSH_POLICY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.125">FLUSH_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.124">FLUSH_POLICY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.FLUSH_POLICY">Constant Field Values</a></dd>
@@ -968,7 +968,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>IS_ROOT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.133">IS_ROOT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.132">IS_ROOT</a></pre>
 <div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
  attribute which denotes if the table is a -ROOT- region or not</div>
 <dl>
@@ -984,7 +984,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>IS_META</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.144">IS_META</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.143">IS_META</a></pre>
 <div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
  attribute which denotes if it is a catalog table, either
  <code> hbase:meta </code> or <code> -ROOT- </code></div>
@@ -1002,7 +1002,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <li class="blockList">
 <h4>DEFERRED_LOG_FLUSH</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.154">DEFERRED_LOG_FLUSH</a></pre>
+public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.153">DEFERRED_LOG_FLUSH</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#DURABILITY"><code>DURABILITY</code></a> instead.</span></div>
 <div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
  attribute which denotes if the deferred log flush option is enabled.</div>
@@ -1018,7 +1018,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DURABILITY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.162">DURABILITY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.161">DURABILITY</a></pre>
 <div class="block"><em>INTERNAL</em> <a href="../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><code>Durability</code></a> setting for the table.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1032,7 +1032,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_REPLICATION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.169">REGION_REPLICATION</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.168">REGION_REPLICATION</a></pre>
 <div class="block"><em>INTERNAL</em> number of region replicas for the table.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1046,7 +1046,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_MEMSTORE_REPLICATION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.177">REGION_MEMSTORE_REPLICATION</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.176">REGION_MEMSTORE_REPLICATION</a></pre>
 <div class="block"><em>INTERNAL</em> flag to indicate whether or not the memstore should be replicated
  for read-replicas (CONSISTENCY =&gt; TIMELINE).</div>
 <dl>
@@ -1061,7 +1061,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NORMALIZATION_ENABLED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.187">NORMALIZATION_ENABLED</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.186">NORMALIZATION_ENABLED</a></pre>
 <div class="block"><em>INTERNAL</em> Used by shell/rest interface to access this metadata
  attribute which denotes if the table should be treated by region normalizer.</div>
 <dl>
@@ -1077,7 +1077,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>PRIORITY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.194">PRIORITY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.193">PRIORITY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.PRIORITY">Constant Field Values</a></dd>
@@ -1090,7 +1090,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_READONLY</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.217">DEFAULT_READONLY</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.216">DEFAULT_READONLY</a></pre>
 <div class="block">Constant that denotes whether the table is READONLY by default and is false</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1104,7 +1104,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_COMPACTION_ENABLED</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.222">DEFAULT_COMPACTION_ENABLED</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.221">DEFAULT_COMPACTION_ENABLED</a></pre>
 <div class="block">Constant that denotes whether the table is compaction enabled by default</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1118,7 +1118,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_NORMALIZATION_ENABLED</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.227">DEFAULT_NORMALIZATION_ENABLED</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.226">DEFAULT_NORMALIZATION_ENABLED</a></pre>
 <div class="block">Constant that denotes whether the table is normalized by default.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1132,7 +1132,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MEMSTORE_FLUSH_SIZE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.233">DEFAULT_MEMSTORE_FLUSH_SIZE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.232">DEFAULT_MEMSTORE_FLUSH_SIZE</a></pre>
 <div class="block">Constant that denotes the maximum default size of the memstore after which
  the contents are flushed to the store files</div>
 <dl>
@@ -1147,7 +1147,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REGION_REPLICATION</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.235">DEFAULT_REGION_REPLICATION</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.234">DEFAULT_REGION_REPLICATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.DEFAULT_REGION_REPLICATION">Constant Field Values</a></dd>
@@ -1160,7 +1160,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REGION_MEMSTORE_REPLICATION</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.237">DEFAULT_REGION_MEMSTORE_REPLICATION</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.236">DEFAULT_REGION_MEMSTORE_REPLICATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.DEFAULT_REGION_MEMSTORE_REPLICATION">Constant Field Values</a></dd>
@@ -1173,7 +1173,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NAMESPACE_FAMILY_INFO</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1466">NAMESPACE_FAMILY_INFO</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1463">NAMESPACE_FAMILY_INFO</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.NAMESPACE_FAMILY_INFO">Constant Field Values</a></dd>
@@ -1186,7 +1186,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NAMESPACE_FAMILY_INFO_BYTES</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1467">NAMESPACE_FAMILY_INFO_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1464">NAMESPACE_FAMILY_INFO_BYTES</a></pre>
 </li>
 </ul>
 <a name="NAMESPACE_COL_DESC_BYTES">
@@ -1195,7 +1195,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NAMESPACE_COL_DESC_BYTES</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1468">NAMESPACE_COL_DESC_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1465">NAMESPACE_COL_DESC_BYTES</a></pre>
 </li>
 </ul>
 <a name="NAMESPACE_TABLEDESC">
@@ -1204,7 +1204,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NAMESPACE_TABLEDESC</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1471">NAMESPACE_TABLEDESC</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1468">NAMESPACE_TABLEDESC</a></pre>
 <div class="block">Table descriptor for namespace table</div>
 </li>
 </ul>
@@ -1223,7 +1223,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <li class="blockList">
 <h4>HTableDescriptor</h4>
 <pre>@InterfaceAudience.Private
-protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.288">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name,
+protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.285">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name,
                                                       <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>[]&nbsp;families)</pre>
 <div class="block"><em> INTERNAL </em> Private constructor used internally creating table descriptors for
  catalog tables, <code>hbase:meta</code> and <code>-ROOT-</code>.</div>
@@ -1235,7 +1235,7 @@ protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescr
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.299">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name,
+<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.296">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name,
                            <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>[]&nbsp;families,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>,<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&gt;&nbsp;values)</pre>
 <div class="block"><em> INTERNAL </em>Private constructor used internally creating table descriptors for
@@ -1249,7 +1249,7 @@ protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescr
 <li class="blockList">
 <h4>HTableDescriptor</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.319">HTableDescriptor</a>()</pre>
+protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.316">HTableDescriptor</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 0.96 (<a href="https://issues.apache.org/jira/browse/HBASE-5453">HBASE-5453</a>).
              This was made protected in 2.0.0 and will be removed in HBase 3.0.0.
              Used by Writables and Writables are going away.</span></div>
@@ -1263,7 +1263,7 @@ protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescr
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.328">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.325">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name)</pre>
 <div class="block">Construct a table descriptor specifying a TableName object</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1280,7 +1280,7 @@ protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescr
 <li class="blockList">
 <h4>HTableDescriptor</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.339">HTableDescriptor</a>(byte[]&nbsp;name)</pre>
+public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.336">HTableDescriptor</a>(byte[]&nbsp;name)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Construct a table descriptor specifying a byte array table name</div>
 <dl>
@@ -1298,7 +1298,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <li class="blockList">
 <h4>HTableDescriptor</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.349">HTableDescriptor</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.346">HTableDescriptor</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Construct a table descriptor specifying a String table name</div>
 <dl>
@@ -1315,7 +1315,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.360">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;desc)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.357">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;desc)</pre>
 <div class="block">Construct a table descriptor by cloning the descriptor passed as a parameter.
  <p>
  Makes a deep copy of the supplied descriptor.
@@ -1332,7 +1332,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.373">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.370">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name,
                         <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;desc)</pre>
 <div class="block">Construct a table descriptor by cloning the descriptor passed as a parameter
  but using a different table name.
@@ -1360,7 +1360,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>isRootRegion</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.406">isRootRegion</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.403">isRootRegion</a>()</pre>
 <div class="block">Check if the descriptor represents a <code> -ROOT- </code> region.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1374,7 +1374,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setRootRegion</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.420">setRootRegion</a>(boolean&nbsp;isRoot)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.417">setRootRegion</a>(boolean&nbsp;isRoot)</pre>
 <div class="block"><em> INTERNAL </em> Used to denote if the current table represents
  <code> -ROOT- </code> region. This is used internally by the
  HTableDescriptor constructors</div>
@@ -1390,7 +1390,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaRegion</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.432">isMetaRegion</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.429">isMetaRegion</a>()</pre>
 <div class="block">Checks if this table is <code> hbase:meta </code>
  region.</div>
 <dl>
@@ -1406,7 +1406,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setMetaRegion</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.461">setMetaRegion</a>(boolean&nbsp;isMeta)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.458">setMetaRegion</a>(boolean&nbsp;isMeta)</pre>
 <div class="block"><em> INTERNAL </em> Used to denote if the current table represents
  <code> -ROOT- </code> or <code> hbase:meta </code> region. This is used
  internally by the HTableDescriptor constructors</div>
@@ -1423,7 +1423,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaTable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.470">isMetaTable</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.467">isMetaTable</a>()</pre>
 <div class="block">Checks if the table is a <code>hbase:meta</code> table</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1437,7 +1437,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getValue</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.481">getValue</a>(byte[]&nbsp;key)</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.478">getValue</a>(byte[]&nbsp;key)</pre>
 <div class="block">Getter for accessing the metadata associated with the key</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1455,7 +1455,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getValue</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.499">getValue</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.496">getValue</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Getter for accessing the metadata associated with the key</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1473,7 +1473,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>,<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.512">getValues</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>,<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.509">getValues</a>()</pre>
 <div class="block">Getter for fetching an unmodifiable <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#values"><code>values</code></a> map.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1489,7 +1489,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setValue</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.524">setValue</a>(byte[]&nbsp;key,
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.521">setValue</a>(byte[]&nbsp;key,
                                  byte[]&nbsp;value)</pre>
 <div class="block">Setter for storing metadata as a (key, value) pair in <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#values"><code>values</code></a> map</div>
 <dl>
@@ -1507,7 +1507,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setValue</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.545">setValue</a>(<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.542">setValue</a>(<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;key,
                                  <a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;value)</pre>
 </li>
 </ul>
@@ -1517,7 +1517,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setValue</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.564">setValue</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.561">setValue</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Setter for storing metadata as a (key, value) pair in <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#values"><code>values</code></a> map</div>
 <dl>
@@ -1535,7 +1535,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>remove</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.579">remove</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.576">remove</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Remove metadata represented by the key from the <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#values"><code>values</code></a> map</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1550,7 +1550,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>remove</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.589">remove</a>(<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;key)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.586">remove</a>(<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;key)</pre>
 <div class="block">Remove metadata represented by the key from the <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#values"><code>values</code></a> map</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1565,7 +1565,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>remove</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.599">remove</a>(byte[]&nbsp;key)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.596">remove</a>(byte[]&nbsp;key)</pre>
 <div class="block">Remove metadata represented by the key from the <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#values"><code>values</code></a> map</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1580,7 +1580,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>isReadOnly</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.609">isReadOnly</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.606">isReadOnly</a>()</pre>
 <div class="block">Check if the readOnly flag of the table is set. If the readOnly flag is
  set then the contents of the table can only be read from but not modified.</div>
 <dl>
@@ -1595,7 +1595,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setReadOnly</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.621">setReadOnly</a>(boolean&nbsp;readOnly)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.618">setReadOnly</a>(boolean&nbsp;readOnly)</pre>
 <div class="block">Setting the table as read only sets all the columns in the table as read
  only. By default all tables are modifiable, but if the readOnly flag is
  set to true then the contents of the table can only be read but not modified.</div>
@@ -1612,7 +1612,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>isCompactionEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.631">isCompactionEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.628">isCompactionEnabled</a>()</pre>
 <div class="block">Check if the compaction enable flag of the table is true. If flag is
  false then no minor/major compactions will be done in real.</div>
 <dl>
@@ -1627,7 +1627,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setCompactionEnabled</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.640">setCompactionEnabled</a>(boolean&nbsp;isEnable)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.637">setCompactionEnabled</a>(boolean&nbsp;isEnable)</pre>
 <div class="block">Setting the table compaction enable flag.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1641,7 +1641,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>isNormalizationEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.651">isNormalizationEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.648">isNormalizationEnabled</a>()</pre>
 <div class="block">Check if normalization enable flag of the table is true. If flag is
  false then no region normalizer won't attempt to normalize this table.</div>
 <dl>
@@ -1656,7 +1656,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setNormalizationEnabled</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.660">setNormalizationEnabled</a>(boolean&nbsp;isEnable)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.657">setNormalizationEnabled</a>(boolean&nbsp;isEnable)</pre>
 <div class="block">Setting the table normalization enable flag.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1670,7 +1670,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>setDurability</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.669">setDurability</a>(<a href="../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.666">setDurability</a>(<a href="../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)</pre>
 <div class="block">Sets the <a href="../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><code>Durability</code></a> setting for the table. This defaults to Durability.USE_DEFAULT.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1684,7 +1684,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getDurability</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.679">getDurability</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.676">getDurability</a>()</pre>
 <div class="block">Returns the durability setting for the table.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1698,7 +1698,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.702">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.699">getTableName</a>()</pre>
 <div class="block">Get the name of the table</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1713,7 +1713,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescript
 <li class="blockList">
 <h4>getName</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.713">getName</a>()</pre>
+public&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.710">getName</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getTableName--"><code>getTableName()</code></a> instead</span></div>
 <div class="block">Get the name of the table as a byte array.</div>
 <dl>
@@ -1728,7 +1728,7 @@ public&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HT
 <ul class="blockList">
 <li class="blockList">
 <h4>getNameAsString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.722">getNameAsString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.719">getNameAsString</a>()</pre>
 <div class="block">Get the name of the table as a String</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1742,10 +1742,10 @@ public&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HT
 <ul class="blockList">
 <li class="blockList">
 <h4>setRegionSplitPolicyClassName</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.732">setRegionSplitPolicyClassName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.729">setRegionSplitPolicyClassName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</pre>
 <div class="block">This sets the class associated with the region split policy which
  determines when a region split should occur.  The class used by
- default is defined in <code>RegionSplitPolicy</code></div>
+ default is defined in org.apache.hadoop.hbase.regionserver.RegionSplitPolicy</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>clazz</code> - the class name</dd>
@@ -1758,10 +1758,10 @@ public&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HT
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionSplitPolicyClassName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.745">getRegionSplitPolicyClassName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.742">getRegionSplitPolicyClassName</a>()</pre>
 <div class="block">This gets the class associated with the region split policy which
  determines when a region split should occur.  The class used by
- default is defined in <code>RegionSplitPolicy</code></div>
+ default is defined in org.apache.hadoop.hbase.regionserver.RegionSplitPolicy</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the class name of the region split policy for this table.
@@ -1776,7 +1776,7 @@ public&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HT
 <li class="blockList">
 <h4>setName</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.755">setName</a>(byte[]&nbsp;name)</pre>
+public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.752">setName</a>(byte[]&nbsp;name)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the name of the table.</div>
 <dl>
@@ -1792,7 +1792,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <li class="blockList">
 <h4>setName</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.761">setName</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name)</pre>
+public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.758">setName</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1802,7 +1802,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxFileSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.776">getMaxFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.773">getMaxFileSize</a>()</pre>
 <div class="block">Returns the maximum size upto which a region can grow to after which a region
  split is triggered. The region size is represented by the size of the biggest
  store file in that region.</div>
@@ -1820,7 +1820,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxFileSize</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.799">setMaxFileSize</a>(long&nbsp;maxFileSize)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.796">setMaxFileSize</a>(long&nbsp;maxFileSize)</pre>
 <div class="block">Sets the maximum size upto which a region can grow to after which a region
  split is triggered. The region size is represented by the size of the biggest
  store file in that region, i.e. If the biggest store file grows beyond the
@@ -1844,7 +1844,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemStoreFlushSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.811">getMemStoreFlushSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.808">getMemStoreFlushSize</a>()</pre>
 <div class="block">Returns the size of the memstore after which a flush to filesystem is triggered.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1860,7 +1860,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>setMemStoreFlushSize</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.825">setMemStoreFlushSize</a>(long&nbsp;memstoreFlushSize)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.822">setMemStoreFlushSize</a>(long&nbsp;memstoreFlushSize)</pre>
 <div class="block">Represents the maximum size of the memstore after which the contents of the
  memstore are flushed to the filesystem. This defaults to a size of 64 MB.</div>
 <dl>
@@ -1875,10 +1875,10 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>setFlushPolicyClassName</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.836">setFlushPolicyClassName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.833">setFlushPolicyClassName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</pre>
 <div class="block">This sets the class associated with the flush policy which determines determines the stores
  need to be flushed when flushing a region. The class used by default is defined in
- <code>FlushPolicy</code></div>
+ org.apache.hadoop.hbase.regionserver.FlushPolicy.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>clazz</code> - the class name</dd>
@@ -1891,10 +1891,10 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushPolicyClassName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.848">getFlushPolicyClassName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.845">getFlushPolicyClassName</a>()</pre>
 <div class="block">This gets the class associated with the flush policy which determines the stores need to be
  flushed when flushing a region. The class used by default is defined in
- <code>FlushPolicy</code></div>
+ org.apache.hadoop.hbase.regionserver.FlushPolicy.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the class name of the flush policy for this table. If this returns null, the default
@@ -1908,7 +1908,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>addFamily</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.857">addFamily</a>(<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.854">addFamily</a>(<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)</pre>
 <div class="block">Adds a column family.
  For the updating purpose please use <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#modifyFamily-org.apache.hadoop.hbase.HColumnDescriptor-"><code>modifyFamily(HColumnDescriptor)</code></a> instead.</div>
 <dl>
@@ -1923,7 +1923,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyFamily</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.874">modifyFamily</a>(<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.871">modifyFamily</a>(<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)</pre>
 <div class="block">Modifies the existing column family.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1939,7 +1939,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFamily</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.891">hasFamily</a>(byte[]&nbsp;familyName)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.888">hasFamily</a>(byte[]&nbsp;familyName)</pre>
 <div class="block">Checks to see if this table contains the given column family</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1955,7 +1955,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.901">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.898">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://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>
@@ -1973,7 +1973,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringCustomizedValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.915">toStringCustomizedValues</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.912">toStringCustomizedValues</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Name of this table and then a map of all of the column family
@@ -1987,7 +1987,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringTableAttributes</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.928">toStringTableAttributes</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.925">toStringTableAttributes</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>map of all table attributes formatted into string.</dd>
@@ -2000,7 +2000,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1031">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1028">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <div class="block">Compare the contents of the descriptor with another one passed as a parameter.
  Checks if the obj passed is an instance of HTableDescriptor, if yes then the
  contents of the descriptors are compared.</div>
@@ -2020,7 +2020,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1048">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1045">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://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>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -2035,7 +2035,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1070">compareTo</a>(<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;other)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1067">compareTo</a>(<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;other)</pre>
 <div class="block">Compares the descriptor with another descriptor which is passed as a parameter.
  This compares the content of the two descriptors and not the reference.</div>
 <dl>
@@ -2053,7 +2053,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilies</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1113">getFamilies</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1110">getFamilies</a>()</pre>
 <div class="block">Returns an unmodifiable collection of all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a>
  of all the column families of the table.</div>
 <dl>
@@ -2069,7 +2069,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>hasSerialReplicationScope</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1120">hasSerialReplicationScope</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1117">hasSerialReplicationScope</a>()</pre>
 <div class="block">Return true if there are at least one cf whose replication scope is serial.</div>
 </li>
 </ul>
@@ -2079,7 +2079,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionReplication</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1132">getRegionReplication</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1129">getRegionReplication</a>()</pre>
 <div class="block">Returns the configured replicas per region</div>
 </li>
 </ul>
@@ -2089,7 +2089,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>setRegionReplication</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1148">setRegionReplication</a>(int&nbsp;regionReplication)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1145">setRegionReplication</a>(int&nbsp;regionReplication)</pre>
 <div class="block">Sets the number of replicas per region.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2103,7 +2103,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>hasRegionMemstoreReplication</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1157">hasRegionMemstoreReplication</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1154">hasRegionMemstoreReplication</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if the read-replicas memstore replication is enabled.</dd>
@@ -2116,7 +2116,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>setRegionMemstoreReplication</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1170">setRegionMemstoreReplication</a>(boolean&nbsp;memstoreReplication)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1167">setRegionMemstoreReplication</a>(boolean&nbsp;memstoreReplication)</pre>
 <div class="block">Enable or Disable the memstore replication from the primary region to the replicas.
  The replication will be used only for meta operations (e.g. flush, compaction, ...)</div>
 <dl>
@@ -2134,7 +2134,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>setPriority</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1179">setPriority</a>(int&nbsp;priority)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1176">setPriority</a>(int&nbsp;priority)</pre>
 </li>
 </ul>
 <a name="getPriority--">
@@ -2143,7 +2143,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1184">getPriority</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1181">getPriority</a>()</pre>
 </li>
 </ul>
 <a name="getFamiliesKeys--">
@@ -2152,7 +2152,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamiliesKeys</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1196">getFamiliesKeys</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1193">getFamiliesKeys</a>()</pre>
 <div class="block">Returns all the column family names of the current table. The map of
  HTableDescriptor contains mapping of family name to HColumnDescriptors.
  This returns all the keys of the family map which represents the column
@@ -2169,7 +2169,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnFamilyCount</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1205">getColumnFamilyCount</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1202">getColumnFamilyCount</a>()</pre>
 <div class="block">Returns the count of the column families of the table.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2183,7 +2183,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnFamilies</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1217">getColumnFamilies</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1214">getColumnFamilies</a>()</pre>
 <div class="block">Returns an array all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families
  of the table.</div>
 <dl>
@@ -2200,7 +2200,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamily</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1231">getFamily</a>(byte[]&nbsp;column)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1228">getFamily</a>(byte[]&nbsp;column)</pre>
 <div class="block">Returns the HColumnDescriptor for a specific column family with name as
  specified by the parameter column.</div>
 <dl>
@@ -2218,7 +2218,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>removeFamily</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1244">removeFamily</a>(byte[]&nbsp;column)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1241">removeFamily</a>(byte[]&nbsp;column)</pre>
 <div class="block">Removes the HColumnDescriptor with name specified by the parameter column
  from the table descriptor</div>
 <dl>
@@ -2236,10 +2236,10 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>addCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1258">addCoprocessor</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1255">addCoprocessor</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add a table coprocessor to this table. The coprocessor
- type must be <code>RegionObserver</code>
+ type must be org.apache.hadoop.hbase.coprocessor.RegionObserver
  or Endpoint.
  It won't check if the class can be loaded or not.
  Whether a coprocessor is loadable or not will be determined when
@@ -2258,13 +2258,13 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>addCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1277">addCoprocessor</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1274">addCoprocessor</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
                                        org.apache.hadoop.fs.Path&nbsp;jarFilePath,
                                        int&nbsp;priority,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;kvs)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add a table coprocessor to this table. The coprocessor
- type must be <code>RegionObserver</code>
+ type must be org.apache.hadoop.hbase.coprocessor.RegionObserver
  or Endpoint.
  It won't check if the class can be loaded or not.
  Whether a coprocessor is loadable or not will be determined when
@@ -2287,10 +2287,10 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>addCoprocessorWithSpec</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1319">addCoprocessorWithSpec</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;specStr)
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1316">addCoprocessorWithSpec</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;specStr)
                                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add a table coprocessor to this table. The coprocessor
- type must be <code>RegionObserver</code>
+ type must be org.apache.hadoop.hbase.coprocessor.RegionObserver
  or Endpoint.
  It won't check if the class can be loaded or not.
  Whether a coprocessor is loadable or not will be determined when
@@ -2310,7 +2310,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>hasCoprocessor</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1365">hasCoprocessor</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classNameToMatch)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1362">hasCoprocessor</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classNameToMatch)</pre>
 <div class="block">Check if the table has an attached co-processor represented by the name className</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2326,7 +2326,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessors</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1389">getCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1386">getCoprocessors</a>()</pre>
 <div class="block">Return the list of attached co-processor represented by their name className</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2340,7 +2340,7 @@ public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>removeCoprocessor</h4>
-<pre>public&nbsp;v

<TRUNCATED>

[38/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/Scan.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/Scan.html b/apidocs/org/apache/hadoop/hbase/client/Scan.html
index 767c23c..a06d3ee 100644
--- a/apidocs/org/apache/hadoop/hbase/client/Scan.html
+++ b/apidocs/org/apache/hadoop/hbase/client/Scan.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":42,"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,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":42,"i61":42,"i62":42,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":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":42,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":42,"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,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":42,"i61":42,"i62":42,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -400,7 +400,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.client.metrics.ScanMetrics</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">getScanMetrics</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">getScanMetrics</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
+             use this method and <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
+             will be messed up.</span></div>
+</div>
+</td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
@@ -472,8 +478,8 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 <tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAllowPartialResults-boolean-">setAllowPartialResults</a></span>(boolean&nbsp;allowPartialResults)</code>
-<div class="block">Setting whether the caller wants to see the partial results that may be returned from the
- server.</div>
+<div class="block">Setting whether the caller wants to see the partial results when server returns
+ less-than-expected cells.</div>
 </td>
 </tr>
 <tr id="i33" class="rowColor">
@@ -496,7 +502,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title
 <tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setBatch-int-">setBatch</a></span>(int&nbsp;batch)</code>
-<div class="block">Set the maximum number of values to return for each call to next().</div>
+<div class="block">Set the maximum number of cells to return for each call to next().</div>
 </td>
 </tr>
 <tr id="i37" class="rowColor">
@@ -816,7 +822,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.156">HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.155">HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</a></pre>
 <div class="block">Parameter name for client scanner sync/async prefetch toggle.
  When using async scanner, prefetching data from the server is done at the background.
  The parameter currently won't have any effect in the case that the user has set
@@ -833,7 +839,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.162">DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.161">DEFAULT_HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</a></pre>
 <div class="block">Default value of <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#HBASE_CLIENT_SCANNER_ASYNC_PREFETCH"><code>HBASE_CLIENT_SCANNER_ASYNC_PREFETCH</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -855,7 +861,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>Scan</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.194">Scan</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.193">Scan</a>()</pre>
 <div class="block">Create a Scan operation across all rows.</div>
 </li>
 </ul>
@@ -866,7 +872,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <li class="blockList">
 <h4>Scan</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.200">Scan</a>(byte[]&nbsp;startRow,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.199">Scan</a>(byte[]&nbsp;startRow,
                         <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <code>new Scan().withStartRow(startRow).setFilter(filter)</code> instead.</span></div>
 </li>
@@ -878,7 +884,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <li class="blockList">
 <h4>Scan</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.214">Scan</a>(byte[]&nbsp;startRow)</pre>
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.213">Scan</a>(byte[]&nbsp;startRow)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <code>new Scan().withStartRow(startRow)</code> instead.</span></div>
 <div class="block">Create a Scan operation starting at the specified row.
  <p>
@@ -897,7 +903,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <li class="blockList">
 <h4>Scan</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.225">Scan</a>(byte[]&nbsp;startRow,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.224">Scan</a>(byte[]&nbsp;startRow,
                         byte[]&nbsp;stopRow)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <code>new Scan().withStartRow(startRow).withStopRow(stopRow)</code> instead.</span></div>
 <div class="block">Create a Scan operation for the range of rows specified.</div>
@@ -914,7 +920,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>Scan</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.236">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.235">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Creates a new instance of this class while copying all values.</div>
 <dl>
@@ -931,7 +937,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Scan</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.284">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.283">Scan</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)</pre>
 <div class="block">Builds a scan object with the same specs as get.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -953,7 +959,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>isGetScan</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.310">isGetScan</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.309">isGetScan</a>()</pre>
 </li>
 </ul>
 <a name="addFamily-byte:A-">
@@ -962,7 +968,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>addFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.325">addFamily</a>(byte[]&nbsp;family)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.324">addFamily</a>(byte[]&nbsp;family)</pre>
 <div class="block">Get all columns from the specified family.
  <p>
  Overrides previous calls to addColumn for this family.</div>
@@ -980,7 +986,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.339">addColumn</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.338">addColumn</a>(byte[]&nbsp;family,
                       byte[]&nbsp;qualifier)</pre>
 <div class="block">Get the column from the specified family with the specified qualifier.
  <p>
@@ -1000,7 +1006,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.364">setTimeRange</a>(long&nbsp;minStamp,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.363">setTimeRange</a>(long&nbsp;minStamp,
                          long&nbsp;maxStamp)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Set versions of columns only within the specified timestamp range,
@@ -1029,7 +1035,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.373">setTimeRange</a>(<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.372">setTimeRange</a>(<a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</pre>
 <div class="block">Set versions of columns only within the specified timestamp range,</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -1047,7 +1053,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeStamp</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.387">setTimeStamp</a>(long&nbsp;timestamp)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.386">setTimeStamp</a>(long&nbsp;timestamp)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get versions of columns with the specified timestamp. Note, default maximum
  versions to return is 1.  If your time range spans more than one version
@@ -1072,7 +1078,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumnFamilyTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.400">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.399">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
                                      long&nbsp;minStamp,
                                      long&nbsp;maxStamp)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setColumnFamilyTimeRange-byte:A-long-long-">Query</a></code></span></div>
@@ -1099,7 +1105,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumnFamilyTimeRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.405">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.404">setColumnFamilyTimeRange</a>(byte[]&nbsp;cf,
                                      <a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;tr)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -1114,7 +1120,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan
 <li class="blockList">
 <h4>setStartRow</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.422">setStartRow</a>(byte[]&nbsp;startRow)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.421">setStartRow</a>(byte[]&nbsp;startRow)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#withStartRow-byte:A-"><code>withStartRow(byte[])</code></a> instead. This method may change the inclusive of
              the stop row to keep compatible with the old behavior.</span></div>
 <div class="block">Set the start row of the scan.
@@ -1138,7 +1144,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>withStartRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.441">withStartRow</a>(byte[]&nbsp;startRow)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.440">withStartRow</a>(byte[]&nbsp;startRow)</pre>
 <div class="block">Set the start row of the scan.
  <p>
  If the specified row does not exist, the Scanner will start from the next closest row after the
@@ -1160,7 +1166,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>withStartRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.456">withStartRow</a>(byte[]&nbsp;startRow,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.455">withStartRow</a>(byte[]&nbsp;startRow,
                          boolean&nbsp;inclusive)</pre>
 <div class="block">Set the start row of the scan.
  <p>
@@ -1185,7 +1191,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <li class="blockList">
 <h4>setStopRow</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.482">setStopRow</a>(byte[]&nbsp;stopRow)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.481">setStopRow</a>(byte[]&nbsp;stopRow)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#withStartRow-byte:A-"><code>withStartRow(byte[])</code></a> instead. This method may change the inclusive of
              the stop row to keep compatible with the old behavior.</span></div>
 <div class="block">Set the stop row of the scan.
@@ -1212,7 +1218,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>withStopRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.504">withStopRow</a>(byte[]&nbsp;stopRow)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.503">withStopRow</a>(byte[]&nbsp;stopRow)</pre>
 <div class="block">Set the stop row of the scan.
  <p>
  The scan will include rows that are lexicographically less than the provided stopRow.
@@ -1237,7 +1243,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>withStopRow</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.519">withStopRow</a>(byte[]&nbsp;stopRow,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.518">withStopRow</a>(byte[]&nbsp;stopRow,
                         boolean&nbsp;inclusive)</pre>
 <div class="block">Set the stop row of the scan.
  <p>
@@ -1261,7 +1267,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowPrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.540">setRowPrefixFilter</a>(byte[]&nbsp;rowPrefix)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.539">setRowPrefixFilter</a>(byte[]&nbsp;rowPrefix)</pre>
 <div class="block"><p>Set a filter (using stopRow and startRow) so the result set only contains rows where the
  rowKey starts with the specified prefix.</p>
  <p>This is a utility method that converts the desired rowPrefix into the appropriate values
@@ -1283,7 +1289,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.597">setMaxVersions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.596">setMaxVersions</a>()</pre>
 <div class="block">Get all available versions.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1297,7 +1303,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.607">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.606">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
 <div class="block">Get up to the specified number of versions of each column.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1313,16 +1319,17 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setBatch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.622">setBatch</a>(int&nbsp;batch)</pre>
-<div class="block">Set the maximum number of values to return for each call to next().
- Callers should be aware that invoking this method with any value
- is equivalent to calling <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAllowPartialResults-boolean-"><code>setAllowPartialResults(boolean)</code></a>
- with a value of <code>true</code>; partial results may be returned if
- this method is called. Use <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxResultSize-long-"><code>setMaxResultSize(long)</code></a>} to
- limit the size of a Scan's Results instead.</div>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.620">setBatch</a>(int&nbsp;batch)</pre>
+<div class="block">Set the maximum number of cells to return for each call to next(). Callers should be aware
+ that this is not equivalent to calling <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setAllowPartialResults-boolean-"><code>setAllowPartialResults(boolean)</code></a>.
+ If you don't allow partial results, the number of cells in each Result must equal to your
+ batch setting unless it is the last Result for current row. So this method is helpful in paging
+ queries. If you just want to prevent OOM at client, use setAllowPartialResults(true) is better.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>batch</code> - the maximum number of values</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--"><code>Result.mayHaveMoreCellsInRow()</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -1332,7 +1339,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.636">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.634">setMaxResultsPerColumnFamily</a>(int&nbsp;limit)</pre>
 <div class="block">Set the maximum number of values to return per row per Column Family</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1346,7 +1353,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.645">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.643">setRowOffsetPerColumnFamily</a>(int&nbsp;offset)</pre>
 <div class="block">Set offset for the row per Column Family.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1360,7 +1367,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setCaching</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.657">setCaching</a>(int&nbsp;caching)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.655">setCaching</a>(int&nbsp;caching)</pre>
 <div class="block">Set the number of rows for caching that will be passed to scanners.
  If not set, the Configuration setting <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_CACHING"><code>HConstants.HBASE_CLIENT_SCANNER_CACHING</code></a> will
  apply.
@@ -1377,7 +1384,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.665">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.663">getMaxResultSize</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the maximum result size in bytes. See <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxResultSize-long-"><code>setMaxResultSize(long)</code></a></dd>
@@ -1390,7 +1397,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxResultSize</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.676">setMaxResultSize</a>(long&nbsp;maxResultSize)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.674">setMaxResultSize</a>(long&nbsp;maxResultSize)</pre>
 <div class="block">Set the maximum result size. The default is -1; this means that no specific
  maximum result size will be set for this scan, and the global configured
  value will be used instead. (Defaults to unlimited).</div>
@@ -1406,10 +1413,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.682">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.680">setFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setFilter-org.apache.hadoop.hbase.filter.Filter-">Query</a></code></span></div>
 <div class="block">Apply the specified server-side filter when performing the Query.
- Only <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-"><code>Filter.filterKeyValue(Cell)</code></a> is called AFTER all tests
+ Only <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-"><code>Filter.filterKeyValue(org.apache.hadoop.hbase.Cell)</code></a> is called AFTER all tests
  for ttl, column match, deletes and max versions have been run.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -1427,7 +1434,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setFamilyMap</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.692">setFamilyMap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;familyMap)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.690">setFamilyMap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;familyMap)</pre>
 <div class="block">Setting the familyMap</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1443,7 +1450,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.701">getFamilyMap</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.699">getFamilyMap</a>()</pre>
 <div class="block">Getting the familyMap</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1457,7 +1464,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>numFamilies</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.708">numFamilies</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.706">numFamilies</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the number of families in familyMap</dd>
@@ -1470,7 +1477,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFamilies</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.718">hasFamilies</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.716">hasFamilies</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if familyMap is non empty, false otherwise</dd>
@@ -1483,7 +1490,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilies</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.725">getFamilies</a>()</pre>
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.723">getFamilies</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the keys of the familyMap</dd>
@@ -1496,7 +1503,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.735">getStartRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.733">getStartRow</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the startrow</dd>
@@ -1509,7 +1516,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>includeStartRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.742">includeStartRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.740">includeStartRow</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if we should include start row when scan</dd>
@@ -1522,7 +1529,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.749">getStopRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.747">getStopRow</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the stoprow</dd>
@@ -1535,7 +1542,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>includeStopRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.756">includeStopRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.754">includeStopRow</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if we should include stop row when scan</dd>
@@ -1548,7 +1555,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxVersions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.763">getMaxVersions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.761">getMaxVersions</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the max number of versions to fetch</dd>
@@ -1561,7 +1568,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getBatch</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.770">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.768">getBatch</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>maximum number of values to return for a single call to next()</dd>
@@ -1574,7 +1581,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultsPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.777">getMaxResultsPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.775">getMaxResultsPerColumnFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>maximum number of values to return per row per CF</dd>
@@ -1587,7 +1594,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowOffsetPerColumnFamily</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.786">getRowOffsetPerColumnFamily</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.784">getRowOffsetPerColumnFamily</a>()</pre>
 <div class="block">Method for retrieving the scan's offset per row per column
  family (#kvs to be skipped)</div>
 <dl>
@@ -1602,7 +1609,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getCaching</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.793">getCaching</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.791">getCaching</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>caching the number of rows fetched when calling next on a scanner</dd>
@@ -1615,7 +1622,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.801">getFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.799">getFilter</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#getFilter--">getFilter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></dd>
@@ -1630,7 +1637,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilter</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.808">hasFilter</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.806">hasFilter</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true is a filter has been specified, false if not</dd>
@@ -1643,7 +1650,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setCacheBlocks</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.822">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.820">setCacheBlocks</a>(boolean&nbsp;cacheBlocks)</pre>
 <div class="block">Set whether blocks should be cached for this Scan.
  <p>
  This is true by default.  When true, default settings of the table and
@@ -1662,7 +1669,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getCacheBlocks</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.832">getCacheBlocks</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.830">getCacheBlocks</a>()</pre>
 <div class="block">Get whether blocks should be cached for this Scan.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1677,7 +1684,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setReversed</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.844">setReversed</a>(boolean&nbsp;reversed)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.842">setReversed</a>(boolean&nbsp;reversed)</pre>
 <div class="block">Set whether this scan is a reversed one
  <p>
  This is false by default which means forward(normal) scan.</div>
@@ -1695,7 +1702,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isReversed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.853">isReversed</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.851">isReversed</a>()</pre>
 <div class="block">Get whether this scan is a reversed one.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1709,15 +1716,19 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setAllowPartialResults</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.864">setAllowPartialResults</a>(boolean&nbsp;allowPartialResults)</pre>
-<div class="block">Setting whether the caller wants to see the partial results that may be returned from the
- server. By default this value is false and the complete results will be assembled client side
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.865">setAllowPartialResults</a>(boolean&nbsp;allowPartialResults)</pre>
+<div class="block">Setting whether the caller wants to see the partial results when server returns
+ less-than-expected cells. It is helpful while scanning a huge row to prevent OOM at client.
+ By default this value is false and the complete results will be assembled client side
  before being delivered to the caller.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>allowPartialResults</code> - </dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--"><code>Result.mayHaveMoreCellsInRow()</code></a>,
+<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setBatch-int-"><code>setBatch(int)</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -1727,7 +1738,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllowPartialResults</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.874">getAllowPartialResults</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.875">getAllowPartialResults</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true when the constructor of this scan understands that the results they will see may
@@ -1742,7 +1753,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setLoadColumnFamiliesOnDemand</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.878">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.879">setLoadColumnFamiliesOnDemand</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Query.html#setLoadColumnFamiliesOnDemand-boolean-">Query</a></code></span></div>
 <div class="block">Set the value indicating whether loading CFs on demand should be allowed (cluster
  default is false). On-demand CF loading doesn't load column families until necessary, e.g.
@@ -1770,7 +1781,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getFingerprint</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.889">getFingerprint</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.890">getFingerprint</a>()</pre>
 <div class="block">Compile the table and column family (i.e. schema) information
  into a String. Useful for parsing and aggregation by debugging,
  logging, and administration tools.</div>
@@ -1788,7 +1799,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>toMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.913">toMap</a>(int&nbsp;maxCols)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.914">toMap</a>(int&nbsp;maxCols)</pre>
 <div class="block">Compile the details beyond the scope of getFingerprint (row, columns,
  timestamps, etc.) into a Map along with the fingerprinted information.
  Useful for debugging, logging, and administration tools.</div>
@@ -2063,7 +2074,11 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanMetrics</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1085">getScanMetrics</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1089">getScanMetrics</a>()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
+             use this method and <a href="../../../../../org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
+             will be messed up.</span></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Metrics on this Scan, if metrics were enabled.</dd>
@@ -2078,7 +2093,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>isAsyncPrefetch</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1091">isAsyncPrefetch</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1095">isAsyncPrefetch</a>()</pre>
 </li>
 </ul>
 <a name="setAsyncPrefetch-boolean-">
@@ -2087,7 +2102,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setAsyncPrefetch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1095">setAsyncPrefetch</a>(boolean&nbsp;asyncPrefetch)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1099">setAsyncPrefetch</a>(boolean&nbsp;asyncPrefetch)</pre>
 </li>
 </ul>
 <a name="getLimit--">
@@ -2096,7 +2111,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getLimit</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1103">getLimit</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1107">getLimit</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the limit of rows for this scan</dd>
@@ -2109,7 +2124,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setLimit</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1117">setLimit</a>(int&nbsp;limit)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1121">setLimit</a>(int&nbsp;limit)</pre>
 <div class="block">Set the limit of rows for this scan. We will terminate the scan if the number of returned rows
  reaches this value.
  <p>
@@ -2130,7 +2145,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>setOneRowLimit</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1127">setOneRowLimit</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1131">setOneRowLimit</a>()</pre>
 <div class="block">Call this when you only want to get one row. It will set <code>limit</code> to <code>1</code>, and also
  set <code>readType</code> to <a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html#PREAD"><code>Scan.ReadType.PREAD</code></a>.</div>
 <dl>
@@ -2145,7 +2160,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1140">getReadType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1144">getReadType</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the read type for this scan</dd>
@@ -2158,7 +2173,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setReadType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1151">setReadType</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;readType)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Scan.html#line.1155">setReadType</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client">Scan.ReadType</a>&nbsp;readType)</pre>
 <div class="block">Set the read type for this scan.
  <p>
  Notice that we may choose to use pread even if you specific <a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html#STREAM"><code>Scan.ReadType.STREAM</code></a> here. For

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/ScanResultConsumer.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/ScanResultConsumer.html b/apidocs/org/apache/hadoop/hbase/client/ScanResultConsumer.html
index a9fe429..b36712b 100644
--- a/apidocs/org/apache/hadoop/hbase/client/ScanResultConsumer.html
+++ b/apidocs/org/apache/hadoop/hbase/client/ScanResultConsumer.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":18};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/ScannerTimeoutException.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/ScanResultConsumer.html" target="_top">Frames</a></li>
@@ -103,7 +103,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  @InterfaceStability.Unstable
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.28">ScanResultConsumer</a></pre>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.29">ScanResultConsumer</a></pre>
 <div class="block">Receives <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a> for an asynchronous scan.</div>
 </li>
 </ul>
@@ -118,7 +118,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -139,6 +139,14 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result-">onNext</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)</code>&nbsp;</td>
 </tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html#onScanMetricsCreated-org.apache.hadoop.hbase.client.metrics.ScanMetrics-">onScanMetricsCreated</a></span>(org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;scanMetrics)</code>
+<div class="block">If <code>scan.isScanMetricsEnabled()</code> returns true, then this method will be called prior to
+ all other methods in this interface to give you the <code>ScanMetrics</code> instance for this scan
+ operation.</div>
+</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -160,7 +168,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>onNext</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.34">onNext</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.35">onNext</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>result</code> - the data fetched from HBase service.</dd>
@@ -175,7 +183,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>onError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.41">onError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.42">onError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</pre>
 <div class="block">Indicate that we hit an unrecoverable error and the scan operation is terminated.
  <p>
  We will not call <a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html#onComplete--"><code>onComplete()</code></a> after calling <a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html#onError-java.lang.Throwable-"><code>onError(Throwable)</code></a>.</div>
@@ -184,13 +192,26 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <a name="onComplete--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>onComplete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.46">onComplete</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.47">onComplete</a>()</pre>
 <div class="block">Indicate that the scan operation is completed normally.</div>
 </li>
 </ul>
+<a name="onScanMetricsCreated-org.apache.hadoop.hbase.client.metrics.ScanMetrics-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onScanMetricsCreated</h4>
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/ScanResultConsumer.html#line.55">onScanMetricsCreated</a>(org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;scanMetrics)</pre>
+<div class="block">If <code>scan.isScanMetricsEnabled()</code> returns true, then this method will be called prior to
+ all other methods in this interface to give you the <code>ScanMetrics</code> instance for this scan
+ operation. The <code>ScanMetrics</code> instance will be updated on-the-fly during the scan, you can
+ store it somewhere to get the metrics at any time if you want.</div>
+</li>
+</ul>
 </li>
 </ul>
 </li>
@@ -220,7 +241,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/ScannerTimeoutException.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/ScanResultConsumer.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/SnapshotDescription.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/SnapshotDescription.html b/apidocs/org/apache/hadoop/hbase/client/SnapshotDescription.html
index b175d8b..3f84540 100644
--- a/apidocs/org/apache/hadoop/hbase/client/SnapshotDescription.html
+++ b/apidocs/org/apache/hadoop/hbase/client/SnapshotDescription.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -507,7 +507,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.h
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/ScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Append.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Append.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Append.html
index e4a83fb..a2cc235 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Append.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Append.html
@@ -174,14 +174,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#append-org.apache.hadoop.hbase.client.Append-">append</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)</code>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#append-org.apache.hadoop.hbase.client.Append-">append</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)</code>
 <div class="block">Appends values to one or more columns within a single row.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Table.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#append-org.apache.hadoop.hbase.client.Append-">append</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncTableBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncTableBase.html#append-org.apache.hadoop.hbase.client.Append-">append</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)</code>
 <div class="block">Appends values to one or more columns within a single row.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html b/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html
index ecabfac..bd9935d 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/AsyncConnection.html
@@ -98,27 +98,27 @@
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a> in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></h3>
 <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/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return types with arguments of type <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></span><span class="tabEnd">&nbsp;</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>static <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection--">createAsyncConnection</a></span>()</code>
 <div class="block">Call <a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-"><code>ConnectionFactory.createAsyncConnection(Configuration)</code></a> using default HBaseConfiguration.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-">createAsyncConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Call <a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-"><code>ConnectionFactory.createAsyncConnection(Configuration, User)</code></a> using the given <code>conf</code> and a
  User object created by <code>UserProvider</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-">createAsyncConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                      <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>
 <div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/client/class-use/Consistency.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Consistency.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Consistency.html
index a7520f0..4c3092f 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Consistency.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Consistency.html
@@ -150,15 +150,15 @@ the order they are declared.</div>
 <td class="colLast"><span class="typeNameLabel">Scan.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-">setConsistency</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-">setConsistency</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Query.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Query.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-">setConsistency</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</code>
 <div class="block">Sets the consistency level for this operation</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Get.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/Get.html#setConsistency-org.apache.hadoop.hbase.client.Consistency-">setConsistency</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client">Consistency</a>&nbsp;consistency)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>


[31/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/util/class-use/PositionedByteRange.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/util/class-use/PositionedByteRange.html b/apidocs/org/apache/hadoop/hbase/util/class-use/PositionedByteRange.html
index cb1bcc7..3a27161 100644
--- a/apidocs/org/apache/hadoop/hbase/util/class-use/PositionedByteRange.html
+++ b/apidocs/org/apache/hadoop/hbase/util/class-use/PositionedByteRange.html
@@ -124,107 +124,107 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawDouble.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawDouble.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html" title="type parameter in DataType">T</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DataType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
+<div class="block">Read an instance of <code>T</code> from the buffer <code>src</code>.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a></code></td>
+<td class="colLast"><span class="typeNameLabel">OrderedInt8.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt8.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedFloat64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedFloat64.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawFloat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawFloat.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a></code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt16.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt16.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">OrderedFloat32.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedFloat32.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><span class="typeNameLabel">OrderedBlobVar.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBlobVar.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a></code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt8.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt8.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RawInteger.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawInteger.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawByte.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawByte.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RawFloat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawFloat.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html" title="type parameter in FixedLengthWrapper">T</a></code></td>
-<td class="colLast"><span class="typeNameLabel">FixedLengthWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html" title="type parameter in TerminatedWrapper">T</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TerminatedWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawLong.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawLong.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RawDouble.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawDouble.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html" title="type parameter in DataType">T</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DataType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
-<div class="block">Read an instance of <code>T</code> from the buffer <code>src</code>.</div>
-</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RawShort.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawShort.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a></code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedNumeric.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedNumeric.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><span class="typeNameLabel">OrderedString.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedString.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt32.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt32.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedBlob.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBlob.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawBytes.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytes.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a></code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedFloat32.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedFloat32.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RawLong.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawLong.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
 <td class="colLast"><span class="typeNameLabel">Struct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Struct.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>byte[]</code></td>
-<td class="colLast"><span class="typeNameLabel">RawBytes.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytes.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a></code></td>
+<td class="colLast"><span class="typeNameLabel">OrderedInt16.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt16.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawInteger.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawInteger.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><span class="typeNameLabel">OrderedFloat64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedFloat64.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html" title="type parameter in TerminatedWrapper">T</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TerminatedWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a></code></td>
+<td class="colLast"><span class="typeNameLabel">OrderedNumeric.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedNumeric.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RawShort.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawShort.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">OrderedInt32.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt32.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RawString.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawString.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html" title="type parameter in FixedLengthWrapper">T</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FixedLengthWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RawByte.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawByte.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
+<td class="colLast"><span class="typeNameLabel">OrderedInt64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
-<td class="colLast"><span class="typeNameLabel">RawBytesTerminated.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytesTerminated.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-int-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src,
+<td class="colLast"><span class="typeNameLabel">OrderedBlob.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBlob.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><span class="typeNameLabel">RawBytesFixedLength.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytesFixedLength.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-int-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src,
       int&nbsp;length)</code>
 <div class="block">Read a <code>byte[]</code> from the buffer <code>src</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Struct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Struct.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-int-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src,
-      int&nbsp;index)</code>
-<div class="block">Read the field at <code>index</code>.</div>
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><span class="typeNameLabel">RawBytesTerminated.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytesTerminated.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-int-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src,
+      int&nbsp;length)</code>
+<div class="block">Read a <code>byte[]</code> from the buffer <code>src</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -235,10 +235,10 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>byte[]</code></td>
-<td class="colLast"><span class="typeNameLabel">RawBytesFixedLength.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytesFixedLength.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-int-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src,
-      int&nbsp;length)</code>
-<div class="block">Read a <code>byte[]</code> from the buffer <code>src</code>.</div>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Struct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Struct.html#decode-org.apache.hadoop.hbase.util.PositionedByteRange-int-">decode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src,
+      int&nbsp;index)</code>
+<div class="block">Read the field at <code>index</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -297,13 +297,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html#decodeLong-org.apache.hadoop.hbase.util.PositionedByteRange-">decodeLong</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
+<td class="colLast"><span class="typeNameLabel">OrderedNumeric.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedNumeric.html#decodeLong-org.apache.hadoop.hbase.util.PositionedByteRange-">decodeLong</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
 <div class="block">Read a <code>long</code> value from the buffer <code>src</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedNumeric.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedNumeric.html#decodeLong-org.apache.hadoop.hbase.util.PositionedByteRange-">decodeLong</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
+<td class="colLast"><span class="typeNameLabel">OrderedInt64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html#decodeLong-org.apache.hadoop.hbase.util.PositionedByteRange-">decodeLong</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
 <div class="block">Read a <code>long</code> value from the buffer <code>src</code>.</div>
 </td>
 </tr>
@@ -330,12 +330,12 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedBlob.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBlob.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">RawBytes.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytes.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       byte[]&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawBytes.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytes.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">OrderedBlob.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBlob.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       byte[]&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -349,21 +349,22 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawBytesTerminated.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytesTerminated.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-int-int-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">RawBytesFixedLength.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytesFixedLength.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-int-int-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       byte[]&nbsp;val,
       int&nbsp;voff,
       int&nbsp;vlen)</code>
-<div class="block">Write <code>val</code> into <code>dst</code>, respecting <code>offset</code> and
+<div class="block">Write <code>val</code> into <code>buff</code>, respecting <code>offset</code> and
  <code>length</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedBlob.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBlob.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-int-int-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">RawBytesTerminated.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytesTerminated.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-int-int-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       byte[]&nbsp;val,
       int&nbsp;voff,
       int&nbsp;vlen)</code>
-<div class="block">Write a subset of <code>val</code> to <code>dst</code>.</div>
+<div class="block">Write <code>val</code> into <code>dst</code>, respecting <code>offset</code> and
+ <code>length</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -377,12 +378,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawBytesFixedLength.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytesFixedLength.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-int-int-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">OrderedBlob.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBlob.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-byte:A-int-int-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       byte[]&nbsp;val,
       int&nbsp;voff,
       int&nbsp;vlen)</code>
-<div class="block">Write <code>val</code> into <code>buff</code>, respecting <code>offset</code> and
- <code>length</code>.</div>
+<div class="block">Write a subset of <code>val</code> to <code>dst</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -397,32 +397,32 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawFloat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawFloat.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Float-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">OrderedFloat32.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedFloat32.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Float-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedFloat32.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedFloat32.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Float-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">RawFloat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawFloat.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Float-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt32.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt32.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Integer-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">RawInteger.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawInteger.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Integer-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawInteger.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawInteger.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Integer-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">OrderedInt32.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt32.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Integer-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Long-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">RawLong.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawLong.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Long-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawLong.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawLong.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Long-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">OrderedInt64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Long-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -437,12 +437,12 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt16.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt16.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Short-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">RawShort.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawShort.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Short-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawShort.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawShort.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Short-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">OrderedInt16.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt16.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-java.lang.Short-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a>&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -457,23 +457,23 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">FixedLengthWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-T-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
-      <a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html" title="type parameter in FixedLengthWrapper">T</a>&nbsp;val)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>int</code></td>
 <td class="colLast"><span class="typeNameLabel">DataType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-T-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html" title="type parameter in DataType">T</a>&nbsp;val)</code>
 <div class="block">Write instance <code>val</code> into buffer <code>dst</code>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><span class="typeNameLabel">TerminatedWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-T-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
       <a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html" title="type parameter in TerminatedWrapper">T</a>&nbsp;val)</code>
 <div class="block">Write instance <code>val</code> into buffer <code>dst</code>.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><span class="typeNameLabel">FixedLengthWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html#encode-org.apache.hadoop.hbase.util.PositionedByteRange-T-">encode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+      <a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html" title="type parameter in FixedLengthWrapper">T</a>&nbsp;val)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><span class="typeNameLabel">OrderedInt8.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt8.html#encodeByte-org.apache.hadoop.hbase.util.PositionedByteRange-byte-">encodeByte</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
@@ -511,14 +511,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedInt64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html#encodeLong-org.apache.hadoop.hbase.util.PositionedByteRange-long-">encodeLong</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">OrderedNumeric.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedNumeric.html#encodeLong-org.apache.hadoop.hbase.util.PositionedByteRange-long-">encodeLong</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
           long&nbsp;val)</code>
 <div class="block">Write instance <code>val</code> into buffer <code>dst</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedNumeric.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedNumeric.html#encodeLong-org.apache.hadoop.hbase.util.PositionedByteRange-long-">encodeLong</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
+<td class="colLast"><span class="typeNameLabel">OrderedInt64.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedInt64.html#encodeLong-org.apache.hadoop.hbase.util.PositionedByteRange-long-">encodeLong</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;dst,
           long&nbsp;val)</code>
 <div class="block">Write instance <code>val</code> into buffer <code>dst</code>.</div>
 </td>
@@ -550,59 +550,59 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawDouble.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawDouble.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DataType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
+<div class="block">Skip <code>src</code>'s position forward over one encoded value.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawFloat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawFloat.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawInteger.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawInteger.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawByte.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawByte.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawFloat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawFloat.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">FixedLengthWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TerminatedWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
+<div class="block">Skip <code>src</code>'s position forward over one encoded value.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawLong.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawLong.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawDouble.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawDouble.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">DataType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/DataType.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
-<div class="block">Skip <code>src</code>'s position forward over one encoded value.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">RawShort.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawShort.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">Struct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Struct.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawBytes.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytes.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawBytes.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawBytes.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawLong.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawLong.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawInteger.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawInteger.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Struct.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/Struct.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">TerminatedWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/TerminatedWrapper.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>
-<div class="block">Skip <code>src</code>'s position forward over one encoded value.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">RawString.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawString.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawShort.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawShort.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">FixedLengthWrapper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/FixedLengthWrapper.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">RawString.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawString.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">OrderedBytesBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBytesBase.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><span class="typeNameLabel">OrderedBytesBase.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/OrderedBytesBase.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RawByte.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/types/RawByte.html#skip-org.apache.hadoop.hbase.util.PositionedByteRange-">skip</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a>&nbsp;src)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>protected int</code></td>
@@ -672,15 +672,15 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#deepCopy--">deepCopy</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#deepCopy--">deepCopy</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#deepCopy--">deepCopy</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#deepCopy--">deepCopy</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#deepCopy--">deepCopy</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#deepCopy--">deepCopy</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
@@ -699,69 +699,75 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#get-int-byte:A-">get</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#get-int-byte:A-">get</a></span>(int&nbsp;index,
    byte[]&nbsp;dst)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#get-int-byte:A-">get</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#get-int-byte:A-">get</a></span>(int&nbsp;index,
    byte[]&nbsp;dst)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#get-int-byte:A-">get</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#get-int-byte:A-">get</a></span>(int&nbsp;index,
    byte[]&nbsp;dst)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#get-int-byte:A-int-int-">get</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#get-int-byte:A-int-int-">get</a></span>(int&nbsp;index,
    byte[]&nbsp;dst,
    int&nbsp;offset,
    int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#get-int-byte:A-int-int-">get</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#get-int-byte:A-int-int-">get</a></span>(int&nbsp;index,
    byte[]&nbsp;dst,
    int&nbsp;offset,
    int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#get-int-byte:A-int-int-">get</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#get-int-byte:A-int-int-">get</a></span>(int&nbsp;index,
    byte[]&nbsp;dst,
    int&nbsp;offset,
    int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-byte-">put</a></span>(byte&nbsp;val)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-byte-">put</a></span>(byte&nbsp;val)</code>
 <div class="block">Store <code>val</code> at the next position in this range.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-byte-">put</a></span>(byte&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-byte-">put</a></span>(byte&nbsp;val)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-byte:A-">put</a></span>(byte[]&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-byte:A-">put</a></span>(byte[]&nbsp;val)</code>
 <div class="block">Store the content of <code>val</code> in this range, starting at the next position.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-byte:A-">put</a></span>(byte[]&nbsp;val)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-byte:A-">put</a></span>(byte[]&nbsp;val)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-byte:A-int-int-">put</a></span>(byte[]&nbsp;val,
+   int&nbsp;offset,
+   int&nbsp;length)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-byte:A-int-int-">put</a></span>(byte[]&nbsp;val,
    int&nbsp;offset,
@@ -769,197 +775,191 @@
 <div class="block">Store <code>length</code> bytes from <code>val</code> into this range.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-byte:A-int-int-">put</a></span>(byte[]&nbsp;val,
-   int&nbsp;offset,
-   int&nbsp;length)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-byte:A-int-int-">put</a></span>(byte[]&nbsp;val,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-byte:A-int-int-">put</a></span>(byte[]&nbsp;val,
    int&nbsp;offset,
    int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
    byte&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
    byte&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-int-byte-">put</a></span>(int&nbsp;index,
    byte&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
    byte[]&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
    byte[]&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-int-byte:A-">put</a></span>(int&nbsp;index,
    byte[]&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
    byte[]&nbsp;val,
    int&nbsp;offset,
    int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
    byte[]&nbsp;val,
    int&nbsp;offset,
    int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#put-int-byte:A-int-int-">put</a></span>(int&nbsp;index,
    byte[]&nbsp;val,
    int&nbsp;offset,
    int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#putInt-int-">putInt</a></span>(int&nbsp;val)</code>
-<div class="block">Store int <code>val</code> at the next position in this range.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#putInt-int-">putInt</a></span>(int&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#putInt-int-">putInt</a></span>(int&nbsp;val)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#putInt-int-">putInt</a></span>(int&nbsp;val)</code>
+<div class="block">Store int <code>val</code> at the next position in this range.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#putInt-int-">putInt</a></span>(int&nbsp;val)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#putInt-int-">putInt</a></span>(int&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
       int&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedMutableByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
+<td class="colLast"><span class="typeNameLabel">PositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
       int&nbsp;val)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/util/PositionedByteRange.html" title="interface in org.apache.hadoop.hbase.util">PositionedByteRange</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimplePositionedByteRange.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/SimplePositionedByteRange.html#putInt-int-int-">putInt</a></span>(int&nbsp;index,
+<td class="colLast"

<TRUNCATED>

[45/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html b/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html
index 5af1bed..3c146ea 100644
--- a/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html
+++ b/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html
@@ -1033,10 +1033,13 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCKSIZE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.108">BLOCKSIZE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.111">BLOCKSIZE</a></pre>
 <div class="block">Size of storefile/hfile 'blocks'.  Default is <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html#DEFAULT_BLOCKSIZE"><code>DEFAULT_BLOCKSIZE</code></a>.
  Use smaller block sizes for faster random-access at expense of larger
- indices (more memory consumption).</div>
+ indices (more memory consumption). Note that this is a soft limit and that
+ blocks have overhead (metadata, CRCs) so blocks will tend to be the size
+ specified here and then some; i.e. don't expect that setting BLOCKSIZE=4k
+ means hbase data will align with an SSDs 4k page accesses (TODO).</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.BLOCKSIZE">Constant Field Values</a></dd>
@@ -1049,7 +1052,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>LENGTH</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.110">LENGTH</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.113">LENGTH</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.LENGTH">Constant Field Values</a></dd>
@@ -1062,7 +1065,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>TTL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.111">TTL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.114">TTL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.TTL">Constant Field Values</a></dd>
@@ -1075,7 +1078,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOOMFILTER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.112">BLOOMFILTER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.115">BLOOMFILTER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.BLOOMFILTER">Constant Field Values</a></dd>
@@ -1088,7 +1091,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>FOREVER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.113">FOREVER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.116">FOREVER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.FOREVER">Constant Field Values</a></dd>
@@ -1101,7 +1104,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SCOPE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.114">REPLICATION_SCOPE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.117">REPLICATION_SCOPE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.REPLICATION_SCOPE">Constant Field Values</a></dd>
@@ -1114,7 +1117,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SCOPE_BYTES</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.115">REPLICATION_SCOPE_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.118">REPLICATION_SCOPE_BYTES</a></pre>
 </li>
 </ul>
 <a name="MIN_VERSIONS">
@@ -1123,7 +1126,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>MIN_VERSIONS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.116">MIN_VERSIONS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.119">MIN_VERSIONS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.MIN_VERSIONS">Constant Field Values</a></dd>
@@ -1136,7 +1139,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>KEEP_DELETED_CELLS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.122">KEEP_DELETED_CELLS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.125">KEEP_DELETED_CELLS</a></pre>
 <div class="block">Retain all cells across flushes and compactions even if they fall behind
  a delete tombstone. To see all retained cells, do a 'raw' scan; see
  Scan#setRaw or pass RAW =&gt; true attribute in the shell.</div>
@@ -1152,7 +1155,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>COMPRESS_TAGS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.123">COMPRESS_TAGS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.126">COMPRESS_TAGS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.COMPRESS_TAGS">Constant Field Values</a></dd>
@@ -1165,7 +1168,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>ENCRYPTION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.125">ENCRYPTION</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.128">ENCRYPTION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.ENCRYPTION">Constant Field Values</a></dd>
@@ -1178,7 +1181,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>ENCRYPTION_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.126">ENCRYPTION_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.129">ENCRYPTION_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.ENCRYPTION_KEY">Constant Field Values</a></dd>
@@ -1191,7 +1194,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>IS_MOB</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.128">IS_MOB</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.131">IS_MOB</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.IS_MOB">Constant Field Values</a></dd>
@@ -1204,7 +1207,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>IS_MOB_BYTES</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.129">IS_MOB_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.132">IS_MOB_BYTES</a></pre>
 </li>
 </ul>
 <a name="MOB_THRESHOLD">
@@ -1213,7 +1216,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>MOB_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.130">MOB_THRESHOLD</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.133">MOB_THRESHOLD</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.MOB_THRESHOLD">Constant Field Values</a></dd>
@@ -1226,7 +1229,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>MOB_THRESHOLD_BYTES</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.131">MOB_THRESHOLD_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.134">MOB_THRESHOLD_BYTES</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_MOB_THRESHOLD">
@@ -1235,7 +1238,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MOB_THRESHOLD</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.132">DEFAULT_MOB_THRESHOLD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.135">DEFAULT_MOB_THRESHOLD</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.DEFAULT_MOB_THRESHOLD">Constant Field Values</a></dd>
@@ -1248,7 +1251,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>MOB_COMPACT_PARTITION_POLICY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.133">MOB_COMPACT_PARTITION_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.136">MOB_COMPACT_PARTITION_POLICY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.MOB_COMPACT_PARTITION_POLICY">Constant Field Values</a></dd>
@@ -1261,7 +1264,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>MOB_COMPACT_PARTITION_POLICY_BYTES</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.134">MOB_COMPACT_PARTITION_POLICY_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.137">MOB_COMPACT_PARTITION_POLICY_BYTES</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_MOB_COMPACT_PARTITION_POLICY">
@@ -1270,7 +1273,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MOB_COMPACT_PARTITION_POLICY</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client">MobCompactPartitionPolicy</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.136">DEFAULT_MOB_COMPACT_PARTITION_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client">MobCompactPartitionPolicy</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.139">DEFAULT_MOB_COMPACT_PARTITION_POLICY</a></pre>
 </li>
 </ul>
 <a name="DFS_REPLICATION">
@@ -1279,7 +1282,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DFS_REPLICATION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.139">DFS_REPLICATION</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.142">DFS_REPLICATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.DFS_REPLICATION">Constant Field Values</a></dd>
@@ -1292,7 +1295,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_DFS_REPLICATION</h4>
-<pre>public static final&nbsp;short <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.140">DEFAULT_DFS_REPLICATION</a></pre>
+<pre>public static final&nbsp;short <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.143">DEFAULT_DFS_REPLICATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.DEFAULT_DFS_REPLICATION">Constant Field Values</a></dd>
@@ -1305,7 +1308,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>STORAGE_POLICY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.142">STORAGE_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.145">STORAGE_POLICY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.STORAGE_POLICY">Constant Field Values</a></dd>
@@ -1318,7 +1321,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_COMPRESSION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.147">DEFAULT_COMPRESSION</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.150">DEFAULT_COMPRESSION</a></pre>
 <div class="block">Default compression type.</div>
 </li>
 </ul>
@@ -1328,7 +1331,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_ENCODE_ON_DISK</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.155">DEFAULT_ENCODE_ON_DISK</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.158">DEFAULT_ENCODE_ON_DISK</a></pre>
 <div class="block">Default value of the flag that enables data block encoding on disk, as
  opposed to encoding in cache only. We encode blocks everywhere by default,
  as long as <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html#DATA_BLOCK_ENCODING"><code>DATA_BLOCK_ENCODING</code></a> is not NONE.</div>
@@ -1344,7 +1347,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_DATA_BLOCK_ENCODING</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.158">DEFAULT_DATA_BLOCK_ENCODING</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.161">DEFAULT_DATA_BLOCK_ENCODING</a></pre>
 <div class="block">Default data block encoding algorithm.</div>
 </li>
 </ul>
@@ -1354,7 +1357,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_VERSIONS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.164">DEFAULT_VERSIONS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.167">DEFAULT_VERSIONS</a></pre>
 <div class="block">Default number of versions of a record to keep.</div>
 </li>
 </ul>
@@ -1364,7 +1367,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MIN_VERSIONS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.170">DEFAULT_MIN_VERSIONS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.173">DEFAULT_MIN_VERSIONS</a></pre>
 <div class="block">Default is not to keep a minimum of versions.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1378,7 +1381,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_IN_MEMORY</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.181">DEFAULT_IN_MEMORY</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.184">DEFAULT_IN_MEMORY</a></pre>
 <div class="block">Default setting for whether to try and serve this column family from memory or not.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1392,7 +1395,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_KEEP_DELETED</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.186">DEFAULT_KEEP_DELETED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.189">DEFAULT_KEEP_DELETED</a></pre>
 <div class="block">Default setting for preventing deleted from being collected immediately.</div>
 </li>
 </ul>
@@ -1402,7 +1405,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_BLOCKCACHE</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.191">DEFAULT_BLOCKCACHE</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.194">DEFAULT_BLOCKCACHE</a></pre>
 <div class="block">Default setting for whether to use a block cache or not.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1416,7 +1419,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CACHE_DATA_ON_WRITE</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.197">DEFAULT_CACHE_DATA_ON_WRITE</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.200">DEFAULT_CACHE_DATA_ON_WRITE</a></pre>
 <div class="block">Default setting for whether to cache data blocks on write if block caching
  is enabled.</div>
 <dl>
@@ -1431,7 +1434,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CACHE_DATA_IN_L1</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.204">DEFAULT_CACHE_DATA_IN_L1</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.207">DEFAULT_CACHE_DATA_IN_L1</a></pre>
 <div class="block">Default setting for whether to cache data blocks in L1 tier.  Only makes sense if more than
  one tier in operations: i.e. if we have an L1 and a L2.  This will be the cases if we are
  using BucketCache.</div>
@@ -1447,7 +1450,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CACHE_INDEX_ON_WRITE</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.210">DEFAULT_CACHE_INDEX_ON_WRITE</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.213">DEFAULT_CACHE_INDEX_ON_WRITE</a></pre>
 <div class="block">Default setting for whether to cache index blocks on write if block
  caching is enabled.</div>
 <dl>
@@ -1462,7 +1465,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_BLOCKSIZE</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.215">DEFAULT_BLOCKSIZE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.218">DEFAULT_BLOCKSIZE</a></pre>
 <div class="block">Default size of blocks in files stored to the filesytem (hfiles).</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1476,7 +1479,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_BLOOMFILTER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.220">DEFAULT_BLOOMFILTER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.223">DEFAULT_BLOOMFILTER</a></pre>
 <div class="block">Default setting for whether or not to use bloomfilters.</div>
 </li>
 </ul>
@@ -1486,7 +1489,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CACHE_BLOOMS_ON_WRITE</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.226">DEFAULT_CACHE_BLOOMS_ON_WRITE</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.229">DEFAULT_CACHE_BLOOMS_ON_WRITE</a></pre>
 <div class="block">Default setting for whether to cache bloom filter blocks on write if block
  caching is enabled.</div>
 <dl>
@@ -1501,7 +1504,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_TTL</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.231">DEFAULT_TTL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.234">DEFAULT_TTL</a></pre>
 <div class="block">Default time to live of cell contents.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1515,7 +1518,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REPLICATION_SCOPE</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.236">DEFAULT_REPLICATION_SCOPE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.239">DEFAULT_REPLICATION_SCOPE</a></pre>
 <div class="block">Default scope.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1529,7 +1532,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_EVICT_BLOCKS_ON_CLOSE</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.242">DEFAULT_EVICT_BLOCKS_ON_CLOSE</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.245">DEFAULT_EVICT_BLOCKS_ON_CLOSE</a></pre>
 <div class="block">Default setting for whether to evict cached blocks from the blockcache on
  close.</div>
 <dl>
@@ -1544,7 +1547,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_COMPRESS_TAGS</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.247">DEFAULT_COMPRESS_TAGS</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.250">DEFAULT_COMPRESS_TAGS</a></pre>
 <div class="block">Default compress tags along with any type of DataBlockEncoding.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1558,7 +1561,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DEFAULT_PREFETCH_BLOCKS_ON_OPEN</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.252">DEFAULT_PREFETCH_BLOCKS_ON_OPEN</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.255">DEFAULT_PREFETCH_BLOCKS_ON_OPEN</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HColumnDescriptor.DEFAULT_PREFETCH_BLOCKS_ON_OPEN">Constant Field Values</a></dd>


[24/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html
index 2a44859..05a7741 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Get.html
@@ -28,64 +28,64 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.HashMap;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.List;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.Map;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.NavigableSet;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.Set;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.TreeMap;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.TreeSet;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.commons.logging.Log;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.commons.logging.LogFactory;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HConstants;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.security.visibility.Authorizations;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * Used to perform Get operations on a single row.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * To get everything for a row, instantiate a Get object with the row to get.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * To further narrow the scope of what to Get, use the methods below.<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * &lt;p&gt;<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * To get all columns from specific families, execute {@link #addFamily(byte[]) addFamily}<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * for each family to retrieve.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * &lt;p&gt;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * To get specific columns, execute {@link #addColumn(byte[], byte[]) addColumn}<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * for each column to retrieve.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * &lt;p&gt;<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * To only retrieve columns within a specific range of version timestamps,<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * execute {@link #setTimeRange(long, long) setTimeRange}.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * &lt;p&gt;<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * To only retrieve columns with a specific timestamp, execute<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * {@link #setTimeStamp(long) setTimestamp}.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * &lt;p&gt;<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * To limit the number of versions of each column to be returned, execute<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * {@link #setMaxVersions(int) setMaxVersions}.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * &lt;p&gt;<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * To add a filter, call {@link #setFilter(Filter) setFilter}.<a name="line.64"></a>
-<span class="sourceLineNo">065</span> */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>@InterfaceAudience.Public<a name="line.66"></a>
-<span class="sourceLineNo">067</span>@InterfaceStability.Stable<a name="line.67"></a>
-<span class="sourceLineNo">068</span>public class Get extends Query<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  implements Row, Comparable&lt;Row&gt; {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private static final Log LOG = LogFactory.getLog(Get.class);<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private byte [] row = null;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private int maxVersions = 1;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private boolean cacheBlocks = true;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private int storeLimit = -1;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private int storeOffset = 0;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  private boolean checkExistenceOnly = false;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  private boolean closestRowBefore = false;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap =<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    new TreeMap&lt;byte [], NavigableSet&lt;byte []&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.80"></a>
+<span class="sourceLineNo">023</span>import java.nio.ByteBuffer;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.ArrayList;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.HashMap;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.List;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.Map;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.NavigableSet;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Set;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.TreeMap;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.TreeSet;<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.commons.logging.Log;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.commons.logging.LogFactory;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.HConstants;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.filter.Filter;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.security.access.Permission;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.security.visibility.Authorizations;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>/**<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Used to perform Get operations on a single row.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * To get everything for a row, instantiate a Get object with the row to get.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * To further narrow the scope of what to Get, use the methods below.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * To get all columns from specific families, execute {@link #addFamily(byte[]) addFamily}<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * for each family to retrieve.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * &lt;p&gt;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * To get specific columns, execute {@link #addColumn(byte[], byte[]) addColumn}<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * for each column to retrieve.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * &lt;p&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * To only retrieve columns within a specific range of version timestamps,<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * execute {@link #setTimeRange(long, long) setTimeRange}.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * To only retrieve columns with a specific timestamp, execute<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * {@link #setTimeStamp(long) setTimestamp}.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * &lt;p&gt;<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * To limit the number of versions of each column to be returned, execute<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * {@link #setMaxVersions(int) setMaxVersions}.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * &lt;p&gt;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * To add a filter, call {@link #setFilter(Filter) setFilter}.<a name="line.65"></a>
+<span class="sourceLineNo">066</span> */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>@InterfaceAudience.Public<a name="line.67"></a>
+<span class="sourceLineNo">068</span>@InterfaceStability.Stable<a name="line.68"></a>
+<span class="sourceLineNo">069</span>public class Get extends Query<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  implements Row, Comparable&lt;Row&gt; {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private static final Log LOG = LogFactory.getLog(Get.class);<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private byte [] row = null;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private int maxVersions = 1;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  private boolean cacheBlocks = true;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  private int storeLimit = -1;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  private int storeOffset = 0;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  private boolean checkExistenceOnly = false;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private boolean closestRowBefore = false;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  private Map&lt;byte [], NavigableSet&lt;byte []&gt;&gt; familyMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<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>   * Create a Get operation for the specified row.<a name="line.83"></a>
@@ -139,409 +139,430 @@
 <span class="sourceLineNo">131</span>    }<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 boolean isCheckExistenceOnly() {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    return checkExistenceOnly;<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>  public Get setCheckExistenceOnly(boolean checkExistenceOnly) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    this.checkExistenceOnly = checkExistenceOnly;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    return this;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * This will always return the default value which is false as client cannot set the value to this<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * property any more.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * @deprecated since 2.0.0 and will be removed in 3.0.0<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  @Deprecated<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public boolean isClosestRowBefore() {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return closestRowBefore;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * This is not used any more and does nothing. Use reverse scan instead.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @deprecated since 2.0.0 and will be removed in 3.0.0<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  @Deprecated<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  public Get setClosestRowBefore(boolean closestRowBefore) {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    // do Nothing<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    return this;<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>  /**<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * Get all columns from the specified family.<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * &lt;p&gt;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * Overrides previous calls to addColumn for this family.<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   * @param family family name<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   * @return the Get object<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   */<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public Get addFamily(byte [] family) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    familyMap.remove(family);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    familyMap.put(family, null);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    return this;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  /**<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * Get the column from the specific family with the specified qualifier.<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * &lt;p&gt;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * Overrides previous calls to addFamily for this family.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * @param family family name<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @param qualifier column qualifier<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * @return the Get objec<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public Get addColumn(byte [] family, byte [] qualifier) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if(set == null) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      set = new TreeSet&lt;byte []&gt;(Bytes.BYTES_COMPARATOR);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    if (qualifier == null) {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    set.add(qualifier);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    familyMap.put(family, set);<a name="line.193"></a>
+<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * Create a Get operation for the specified row.<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @param row<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @param rowOffset<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * @param rowLength<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  public Get(byte[] row, int rowOffset, int rowLength) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    Mutation.checkRow(row, rowOffset, rowLength);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    this.row = Bytes.copy(row, rowOffset, rowLength);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>  /**<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * Create a Get operation for the specified row.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @param row<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  public Get(ByteBuffer row) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    Mutation.checkRow(row);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    this.row = new byte[row.remaining()];<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    row.get(this.row);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  public boolean isCheckExistenceOnly() {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return checkExistenceOnly;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public Get setCheckExistenceOnly(boolean checkExistenceOnly) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    this.checkExistenceOnly = checkExistenceOnly;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    return this;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * This will always return the default value which is false as client cannot set the value to this<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * property any more.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   * @deprecated since 2.0.0 and will be removed in 3.0.0<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   */<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  @Deprecated<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  public boolean isClosestRowBefore() {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return closestRowBefore;<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>  /**<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * This is not used any more and does nothing. Use reverse scan instead.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * @deprecated since 2.0.0 and will be removed in 3.0.0<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Deprecated<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public Get setClosestRowBefore(boolean closestRowBefore) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    // do Nothing<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return this;<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>   * Get all columns from the specified family.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * &lt;p&gt;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * Overrides previous calls to addColumn for this family.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @param family family name<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * @return the Get object<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  public Get addFamily(byte [] family) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    familyMap.remove(family);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    familyMap.put(family, null);<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    return this;<a name="line.194"></a>
 <span class="sourceLineNo">195</span>  }<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>   * Get versions of columns only within the specified timestamp range,<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * [minStamp, maxStamp).<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * @throws IOException<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * @return this for invocation chaining<a name="line.203"></a>
+<span class="sourceLineNo">198</span>   * Get the column from the specific family with the specified qualifier.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * &lt;p&gt;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   * Overrides previous calls to addFamily for this family.<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * @param family family name<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * @param qualifier column qualifier<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @return the Get objec<a name="line.203"></a>
 <span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  public Get setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    return (Get) super.setTimeRange(minStamp, maxStamp);<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>  /**<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * Get versions of columns only within the specified timestamp range,<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @param tr Input TimeRange<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * @return this for invocation chaining<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public Get setTimeRange(TimeRange tr) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return (Get) super.setTimeRange(tr);<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>  /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * Get versions of columns with the specified timestamp.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * @param timestamp version timestamp<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * @return this for invocation chaining<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  public Get setTimeStamp(long timestamp)<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  throws IOException {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    try {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      super.setTimeRange(timestamp, timestamp + 1);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    } catch(Exception e) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      throw e;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return this;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  @Override<a name="line.237"></a>
-<span class="sourceLineNo">238</span>  public Get setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    return (Get) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  @Override<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  public Get setColumnFamilyTimeRange(byte[] cf, TimeRange tr) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    return (Get) super.setColumnFamilyTimeRange(cf, tr);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  }<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * Get all available versions.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * @return this for invocation chaining<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   */<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public Get setMaxVersions() {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    return this;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * Get up to the specified number of versions of each column.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @param maxVersions maximum versions for each column<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @throws IOException if invalid number of versions<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @return this for invocation chaining<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public Get setMaxVersions(int maxVersions) throws IOException {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    if(maxVersions &lt;= 0) {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      throw new IOException("maxVersions must be positive");<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    this.maxVersions = maxVersions;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    return this;<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>  public Get setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    return (Get) super.setLoadColumnFamiliesOnDemand(value);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  }<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>   * Set the maximum number of values to return per row per Column Family<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * @param limit the maximum number of values returned / row / CF<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * @return this for invocation chaining<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   */<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  public Get setMaxResultsPerColumnFamily(int limit) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    this.storeLimit = limit;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    return this;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  }<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>  /**<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * Set offset for the row per Column Family. This offset is only within a particular row/CF<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * combination. It gets reset back to zero when we move to the next row or CF.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * @param offset is the number of kvs that will be skipped.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   * @return this for invocation chaining<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   */<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public Get setRowOffsetPerColumnFamily(int offset) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    this.storeOffset = offset;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return this;<a name="line.292"></a>
+<span class="sourceLineNo">205</span>  public Get addColumn(byte [] family, byte [] qualifier) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    NavigableSet&lt;byte []&gt; set = familyMap.get(family);<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    if(set == null) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      set = new TreeSet&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (qualifier == null) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      qualifier = HConstants.EMPTY_BYTE_ARRAY;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    set.add(qualifier);<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    familyMap.put(family, set);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    return this;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  }<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>   * Get versions of columns only within the specified timestamp range,<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   * [minStamp, maxStamp).<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   * @param minStamp minimum timestamp value, inclusive<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * @param maxStamp maximum timestamp value, exclusive<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @throws IOException<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * @return this for invocation chaining<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  public Get setTimeRange(long minStamp, long maxStamp) throws IOException {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    return (Get) super.setTimeRange(minStamp, maxStamp);<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * Get versions of columns only within the specified timestamp range,<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * @param tr Input TimeRange<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * @return this for invocation chaining<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  @Override<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public Get setTimeRange(TimeRange tr) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    return (Get) super.setTimeRange(tr);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  /**<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * Get versions of columns with the specified timestamp.<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @param timestamp version timestamp<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * @return this for invocation chaining<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   */<a name="line.245"></a>
+<span class="sourceLineNo">246</span>  public Get setTimeStamp(long timestamp)<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  throws IOException {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    try {<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      super.setTimeRange(timestamp, timestamp + 1);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    } catch(Exception e) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      // This should never happen, unless integer overflow or something extremely wrong...<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      LOG.error("TimeRange failed, likely caused by integer overflow. ", e);<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      throw e;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    return this;<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>  @Override<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public Get setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    return (Get) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  @Override<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  public Get setColumnFamilyTimeRange(byte[] cf, TimeRange tr) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return (Get) super.setColumnFamilyTimeRange(cf, tr);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * Get all available versions.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @return this for invocation chaining<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public Get setMaxVersions() {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    this.maxVersions = Integer.MAX_VALUE;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    return this;<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>  /**<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * Get up to the specified number of versions of each column.<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param maxVersions maximum versions for each column<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @throws IOException if invalid number of versions<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @return this for invocation chaining<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   */<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public Get setMaxVersions(int maxVersions) throws IOException {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    if(maxVersions &lt;= 0) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      throw new IOException("maxVersions must be positive");<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    }<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    this.maxVersions = maxVersions;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    return this;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  public Get setLoadColumnFamiliesOnDemand(boolean value) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    return (Get) super.setLoadColumnFamiliesOnDemand(value);<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>  @Override<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  public Get setFilter(Filter filter) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    super.setFilter(filter);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return this;<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">301</span>  /* Accessors */<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * Set whether blocks should be cached for this Get.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * &lt;p&gt;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   * This is true by default.  When true, default settings of the table and<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   * family are used (this will never override caching blocks if the block<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * cache is disabled for that family or entirely).<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   *<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * will not be cached<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   */<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public Get setCacheBlocks(boolean cacheBlocks) {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    this.cacheBlocks = cacheBlocks;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    return this;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  }<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>   * Get whether blocks should be cached for this Get.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @return true if default caching should be used, false if blocks should not<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * be cached<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   */<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  public boolean getCacheBlocks() {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    return cacheBlocks;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  /**<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * Method for retrieving the get's row<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * @return row<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   */<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public byte [] getRow() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return this.row;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>  /**<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   * Method for retrieving the get's maximum number of version<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @return the maximum number of version to fetch for this get<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   */<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  public int getMaxVersions() {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    return this.maxVersions;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>  /**<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * Method for retrieving the get's maximum number of values<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * to return per Column Family<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * @return the maximum number of values to fetch per CF<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   */<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  public int getMaxResultsPerColumnFamily() {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    return this.storeLimit;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * Method for retrieving the get's offset per row per column<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * family (#kvs to be skipped)<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @return the row offset<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public int getRowOffsetPerColumnFamily() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.storeOffset;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * Method for retrieving the keys in the familyMap<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @return keys in the current familyMap<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  public Set&lt;byte[]&gt; familySet() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    return this.familyMap.keySet();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  }<a name="line.368"></a>
-<span class="sourceLineNo">369</span><a name="line.369"></a>
-<span class="sourceLineNo">370</span>  /**<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * Method for retrieving the number of families to get from<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @return number of families<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  public int numFamilies() {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    return this.familyMap.size();<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  /**<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * Method for checking if any families have been inserted into this Get<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @return true if familyMap is non empty false otherwise<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   */<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  public boolean hasFamilies() {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    return !this.familyMap.isEmpty();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * Method for retrieving the get's familyMap<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * @return familyMap<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   */<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  public Map&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; getFamilyMap() {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    return this.familyMap;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span>  /**<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * Compile the table and column family (i.e. schema) information<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * logging, and administration tools.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @return Map<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   */<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  @Override<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    List&lt;String&gt; families = new ArrayList&lt;String&gt;(this.familyMap.entrySet().size());<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    map.put("families", families);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      this.familyMap.entrySet()) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    return map;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>  /**<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Useful for debugging, logging, and administration tools.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @return Map<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   */<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    // we start with the fingerprint map and build on top of it.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    // replace the fingerprint's simple list of families with a<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    // map from column families to lists of qualifiers and kv details<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    Map&lt;String, List&lt;String&gt;&gt; columns = new HashMap&lt;String, List&lt;String&gt;&gt;();<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    map.put("families", columns);<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    // add scalar information first<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    map.put("row", Bytes.toStringBinary(this.row));<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    map.put("maxVersions", this.maxVersions);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    map.put("cacheBlocks", this.cacheBlocks);<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    List&lt;Long&gt; timeRange = new ArrayList&lt;Long&gt;(2);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    timeRange.add(this.tr.getMin());<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    timeRange.add(this.tr.getMax());<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    map.put("timeRange", timeRange);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    int colCount = 0;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    // iterate through affected families and add details<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      this.familyMap.entrySet()) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      List&lt;String&gt; familyList = new ArrayList&lt;String&gt;();<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      columns.put(Bytes.toStringBinary(entry.getKey()), familyList);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      if(entry.getValue() == null) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        colCount++;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        --maxCols;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        familyList.add("ALL");<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      } else {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        colCount += entry.getValue().size();<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        if (maxCols &lt;= 0) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          continue;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        }<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        for (byte [] column : entry.getValue()) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>          if (--maxCols &lt;= 0) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>            continue;<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          familyList.add(Bytes.toStringBinary(column));<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      }<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    map.put("totalColumns", colCount);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    if (this.filter != null) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      map.put("filter", this.filter.toString());<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    // add the id if set<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    if (getId() != null) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      map.put("id", getId());<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    return map;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  }<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>  //Row<a name="line.469"></a>
-<span class="sourceLineNo">470</span>  @Override<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  public int compareTo(Row other) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    // TODO: This is wrong.  Can't have two gets the same just because on same row.<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    return Bytes.compareTo(this.getRow(), other.getRow());<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>  @Override<a name="line.476"></a>
-<span class="sourceLineNo">477</span>  public int hashCode() {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    // TODO: This is wrong.  Can't have two gets the same just because on same row.  But it<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    // matches how equals works currently and gets rid of the findbugs warning.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    return Bytes.hashCode(this.getRow());<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  }<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public boolean equals(Object obj) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    if (this == obj) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return true;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    }<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    if (obj == null || getClass() != obj.getClass()) {<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      return false;<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    }<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    Row other = (Row) obj;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    // TODO: This is wrong.  Can't have two gets the same just because on same row.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    return compareTo(other) == 0;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  }<a name="line.494"></a>
-<span class="sourceLineNo">495</span><a name="line.495"></a>
-<span class="sourceLineNo">496</span>  @Override<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  public Get setAttribute(String name, byte[] value) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return (Get) super.setAttribute(name, value);<a name="line.498"></a>
-<span class="sourceLineNo">499</span>  }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>  @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>  public Get setId(String id) {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    return (Get) super.setId(id);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>  @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  public Get setAuthorizations(Authorizations authorizations) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    return (Get) super.setAuthorizations(authorizations);<a name="line.508"></a>
-<span class="sourceLineNo">509</span>  }<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>  @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  public Get setACL(Map&lt;String, Permission&gt; perms) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    return (Get) super.setACL(perms);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>  }<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>  @Override<a name="line.516"></a>
-<span class="sourceLineNo">517</span>  public Get setACL(String user, Permission perms) {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return (Get) super.setACL(user, perms);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  @Override<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  public Get setConsistency(Consistency consistency) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    return (Get) super.setConsistency(consistency);<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  }<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>  @Override<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public Get setReplicaId(int Id) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    return (Get) super.setReplicaId(Id);<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>  @Override<a name="line.531"></a>
-<span class="sourceLineNo">532</span>  public Get setIsolationLevel(IsolationLevel level) {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      return (Get) super.setIsolationLevel(level);<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
-<span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span>}<a name="line.536"></a>
+<span class="sourceLineNo">295</span>  /**<a name="line.295"></a>
+<span class="sourceLineNo">296</span>   * Set the maximum number of values to return per row per Column Family<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   * @param limit the maximum number of values returned / row / CF<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   * @return this for invocation chaining<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  public Get setMaxResultsPerColumnFamily(int limit) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    this.storeLimit = limit;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    return this;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  /**<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * Set offset for the row per Column Family. This offset is only within a particular row/CF<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * combination. It gets reset back to zero when we move to the next row or CF.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * @param offset is the number of kvs that will be skipped.<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * @return this for invocation chaining<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public Get setRowOffsetPerColumnFamily(int offset) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    this.storeOffset = offset;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return this;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public Get setFilter(Filter filter) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    super.setFilter(filter);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    return this;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  }<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>  /* Accessors */<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span>  /**<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * Set whether blocks should be cached for this Get.<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * &lt;p&gt;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * This is true by default.  When true, default settings of the table and<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * family are used (this will never override caching blocks if the block<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * cache is disabled for that family or entirely).<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   *<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @param cacheBlocks if false, default settings are overridden and blocks<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * will not be cached<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public Get setCacheBlocks(boolean cacheBlocks) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    this.cacheBlocks = cacheBlocks;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return this;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  /**<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * Get whether blocks should be cached for this Get.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @return true if default caching should be used, false if blocks should not<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * be cached<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  public boolean getCacheBlocks() {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    return cacheBlocks;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * Method for retrieving the get's row<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @return row<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  public byte [] getRow() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    return this.row;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>  /**<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   * Method for retrieving the get's maximum number of version<a name="line.358"></a>
+<span class="sourceLineNo">359</span>   * @return the maximum number of version to fetch for this get<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   */<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  public int getMaxVersions() {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    return this.maxVersions;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>  }<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>  /**<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * Method for retrieving the get's maximum number of values<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * to return per Column Family<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @return the maximum number of values to fetch per CF<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  public int getMaxResultsPerColumnFamily() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    return this.storeLimit;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
+<span class="sourceLineNo">373</span><a name="line.373"></a>
+<span class="sourceLineNo">374</span>  /**<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * Method for retrieving the get's offset per row per column<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * family (#kvs to be skipped)<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * @return the row offset<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
+<span class="sourceLineNo">379</span>  public int getRowOffsetPerColumnFamily() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    return this.storeOffset;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>  /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * Method for retrieving the keys in the familyMap<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * @return keys in the current familyMap<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public Set&lt;byte[]&gt; familySet() {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    return this.familyMap.keySet();<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  }<a name="line.389"></a>
+<span class="sourceLineNo">390</span><a name="line.390"></a>
+<span class="sourceLineNo">391</span>  /**<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   * Method for retrieving the number of families to get from<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   * @return number of families<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   */<a name="line.394"></a>
+<span class="sourceLineNo">395</span>  public int numFamilies() {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    return this.familyMap.size();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  }<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>  /**<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * Method for checking if any families have been inserted into this Get<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @return true if familyMap is non empty false otherwise<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  public boolean hasFamilies() {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return !this.familyMap.isEmpty();<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  /**<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * Method for retrieving the get's familyMap<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * @return familyMap<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   */<a name="line.410"></a>
+<span class="sourceLineNo">411</span>  public Map&lt;byte[],NavigableSet&lt;byte[]&gt;&gt; getFamilyMap() {<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    return this.familyMap;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  }<a name="line.413"></a>
+<span class="sourceLineNo">414</span><a name="line.414"></a>
+<span class="sourceLineNo">415</span>  /**<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * Compile the table and column family (i.e. schema) information<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * into a String. Useful for parsing and aggregation by debugging,<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * logging, and administration tools.<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * @return Map<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  @Override<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  public Map&lt;String, Object&gt; getFingerprint() {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    List&lt;String&gt; families = new ArrayList&lt;&gt;(this.familyMap.entrySet().size());<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    map.put("families", families);<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      this.familyMap.entrySet()) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      families.add(Bytes.toStringBinary(entry.getKey()));<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    }<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    return map;<a name="line.430"></a>
+<span class="sourceLineNo">431</span>  }<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   * Compile the details beyond the scope of getFingerprint (row, columns,<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * timestamps, etc.) into a Map along with the fingerprinted information.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * Useful for debugging, logging, and administration tools.<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * @param maxCols a limit on the number of columns output prior to truncation<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * @return Map<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   */<a name="line.439"></a>
+<span class="sourceLineNo">440</span>  @Override<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  public Map&lt;String, Object&gt; toMap(int maxCols) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    // we start with the fingerprint map and build on top of it.<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    Map&lt;String, Object&gt; map = getFingerprint();<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    // replace the fingerprint's simple list of families with a<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    // map from column families to lists of qualifiers and kv details<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    Map&lt;String, List&lt;String&gt;&gt; columns = new HashMap&lt;&gt;();<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    map.put("families", columns);<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    // add scalar information first<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    map.put("row", Bytes.toStringBinary(this.row));<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    map.put("maxVersions", this.maxVersions);<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    map.put("cacheBlocks", this.cacheBlocks);<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    List&lt;Long&gt; timeRange = new ArrayList&lt;&gt;(2);<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    timeRange.add(this.tr.getMin());<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    timeRange.add(this.tr.getMax());<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    map.put("timeRange", timeRange);<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    int colCount = 0;<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    // iterate through affected families and add details<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    for (Map.Entry&lt;byte [], NavigableSet&lt;byte[]&gt;&gt; entry :<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      this.familyMap.entrySet()) {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      List&lt;String&gt; familyList = new ArrayList&lt;&gt;();<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      columns.put(Bytes.toStringBinary(entry.getKey()), familyList);<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      if(entry.getValue() == null) {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        colCount++;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>        --maxCols;<a name="line.464"></a>
+<span class="sourceLineNo">465</span>        familyList.add("ALL");<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      } else {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        colCount += entry.getValue().size();<a name="line.467"></a>
+<span class="sourceLineNo">468</span>        if (maxCols &lt;= 0) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>          continue;<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        }<a name="line.470"></a>
+<span class="sourceLineNo">471</span>        for (byte [] column : entry.getValue()) {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>          if (--maxCols &lt;= 0) {<a name="line.472"></a>
+<span class="sourceLineNo">473</span>            continue;<a name="line.473"></a>
+<span class="sourceLineNo">474</span>          }<a name="line.474"></a>
+<span class="sourceLineNo">475</span>          familyList.add(Bytes.toStringBinary(column));<a name="line.475"></a>
+<span class="sourceLineNo">476</span>        }<a name="line.476"></a>
+<span class="sourceLineNo">477</span>      }<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    map.put("totalColumns", colCount);<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (this.filter != null) {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      map.put("filter", this.filter.toString());<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
+<span class="sourceLineNo">483</span>    // add the id if set<a name="line.483"></a>
+<span class="sourceLineNo">484</span>    if (getId() != null) {<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      map.put("id", getId());<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    }<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    return map;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  }<a name="line.488"></a>
+<span class="sourceLineNo">489</span><a name="line.489"></a>
+<span class="sourceLineNo">490</span>  //Row<a name="line.490"></a>
+<span class="sourceLineNo">491</span>  @Override<a name="line.491"></a>
+<span class="sourceLineNo">492</span>  public int compareTo(Row other) {<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    // TODO: This is wrong.  Can't have two gets the same just because on same row.<a name="line.493"></a>
+<span class="sourceLineNo">494</span>    return Bytes.compareTo(this.getRow(), other.getRow());<a name="line.494"></a>
+<span class="sourceLineNo">495</span>  }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>  @Override<a name="line.497"></a>
+<span class="sourceLineNo">498</span>  public int hashCode() {<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    // TODO: This is wrong.  Can't have two gets the same just because on same row.  But it<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    // matches how equals works currently and gets rid of the findbugs warning.<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    return Bytes.hashCode(this.getRow());<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  }<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>  @Override<a name="line.504"></a>
+<span class="sourceLineNo">505</span>  public boolean equals(Object obj) {<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    if (this == obj) {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return true;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    if (obj == null || getClass() != obj.getClass()) {<a name="line.509"></a>
+<span class="sourceLineNo">510</span>      return false;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
+<span class="sourceLineNo">512</span>    Row other = (Row) obj;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    // TODO: This is wrong.  Can't have two gets the same just because on same row.<a name="line.513"></a>
+<span class="sourceLineNo">514</span>    return compareTo(other) == 0;<a name="line.514"></a>
+<span class="sourceLineNo">515</span>  }<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span>  @Override<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  public Get setAttribute(String name, byte[] value) {<a name="line.518"></a>
+<span class="sourceLineNo">519</span>    return (Get) super.setAttribute(name, value);<a name="line.519"></a>
+<span class="sourceLineNo">520</span>  }<a name="line.520"></a>
+<span class="sourceLineNo">521</span><a name="line.521"></a>
+<span class="sourceLineNo">522</span>  @Override<a name="line.522"></a>
+<span class="sourceLineNo">523</span>  public Get setId(String id) {<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    return (Get) super.setId(id);<a name="line.524"></a>
+<span class="sourceLineNo">525</span>  }<a name="line.525"></a>
+<span class="sourceLineNo">526</span><a name="line.526"></a>
+<span class="sourceLineNo">527</span>  @Override<a name="line.527"></a>
+<span class="sourceLineNo">528</span>  public Get setAuthorizations(Authorizations authorizations) {<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    return (Get) super.setAuthorizations(authorizations);<a name="line.529"></a>
+<span class="sourceLineNo">530</span>  }<a name="line.530"></a>
+<span class="sourceLineNo">531</span><a name="line.531"></a>
+<span class="sourceLineNo">532</span>  @Override<a name="line.532"></a>
+<span class="sourceLineNo">533</span>  public Get setACL(Map&lt;String, Permission&gt; perms) {<a name="line.533"></a>
+<span class="sourceLineNo">534</span>    return (Get) super.setACL(perms);<a name="line.534"></a>
+<span class="sourceLineNo">535</span>  }<a name="line.535"></a>
+<span class="sourceLineNo">536</span><a name="line.536"></a>
+<span class="sourceLineNo">537</span>  @Override<a name="line.537"></a>
+<span class="sourceLineNo">538</span>  public Get setACL(String user, Permission perms) {<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    return (Get) super.setACL(user, perms);<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>  @Override<a name="line.542"></a>
+<span class="sourceLineNo">543</span>  public Get setConsistency(Consistency consistency) {<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    return (Get) super.setConsistency(consistency);<a name="line.544"></a>
+<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>  @Override<a name="line.547"></a>
+<span class="sourceLineNo">548</span>  public Get setReplicaId(int Id) {<a name="line.548"></a>
+<span class="sourceLineNo">549</span>    return (Get) super.setReplicaId(Id);<a name="line.549"></a>
+<span class="sourceLineNo">550</span>  }<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span>  @Override<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  public Get setIsolationLevel(IsolationLevel level) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span>      return (Get) super.setIsolationLevel(level);<a name="line.554"></a>
+<span class="sourceLineNo">555</span>  }<a name="line.555"></a>
+<span class="sourceLineNo">556</span><a name="line.556"></a>
+<span class="sourceLineNo">557</span>}<a name="line.557"></a>
 
 
 


[27/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html b/apidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
index 45cd59a..66b1cdb 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
@@ -48,9 +48,9 @@
 <span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.40"></a>
 <span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.41"></a>
 <span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.security.User;<a name="line.45"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.security.User;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.45"></a>
 <span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.46"></a>
 <span class="sourceLineNo">047</span><a name="line.47"></a>
 <span class="sourceLineNo">048</span>/**<a name="line.48"></a>
@@ -72,1519 +72,1516 @@
 <span class="sourceLineNo">064</span>   * includes values like IS_ROOT, IS_META, DEFERRED_LOG_FLUSH, SPLIT_POLICY,<a name="line.64"></a>
 <span class="sourceLineNo">065</span>   * MAX_FILE_SIZE, READONLY, MEMSTORE_FLUSHSIZE etc...<a name="line.65"></a>
 <span class="sourceLineNo">066</span>   */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private final Map&lt;Bytes, Bytes&gt; values =<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      new HashMap&lt;Bytes, Bytes&gt;();<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>   * A map which holds the configuration specific to the table.<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * The keys of the map have the same names as config keys and override the defaults with<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * table-specific settings. Example usage may be for compactions, etc.<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   */<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private final Map&lt;String, String&gt; configuration = new HashMap&lt;String, String&gt;();<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final String SPLIT_POLICY = "SPLIT_POLICY";<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /**<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by HBase Shell interface to access this metadata<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * attribute which denotes the maximum size of the store file after which<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * a region split occurs<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   *<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @see #getMaxFileSize()<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public static final String MAX_FILESIZE = "MAX_FILESIZE";<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  private static final Bytes MAX_FILESIZE_KEY =<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      new Bytes(Bytes.toBytes(MAX_FILESIZE));<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  public static final String OWNER = "OWNER";<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public static final Bytes OWNER_KEY =<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      new Bytes(Bytes.toBytes(OWNER));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by rest interface to access this metadata<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * attribute which denotes if the table is Read Only<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   *<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @see #isReadOnly()<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public static final String READONLY = "READONLY";<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  private static final Bytes READONLY_KEY =<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      new Bytes(Bytes.toBytes(READONLY));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by HBase Shell interface to access this metadata<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * attribute which denotes if the table is compaction enabled<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   *<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @see #isCompactionEnabled()<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public static final String COMPACTION_ENABLED = "COMPACTION_ENABLED";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  private static final Bytes COMPACTION_ENABLED_KEY =<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      new Bytes(Bytes.toBytes(COMPACTION_ENABLED));<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by HBase Shell interface to access this metadata<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * attribute which represents the maximum size of the memstore after which<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * its contents are flushed onto the disk<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   *<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @see #getMemStoreFlushSize()<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public static final String MEMSTORE_FLUSHSIZE = "MEMSTORE_FLUSHSIZE";<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static final Bytes MEMSTORE_FLUSHSIZE_KEY =<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      new Bytes(Bytes.toBytes(MEMSTORE_FLUSHSIZE));<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public static final String FLUSH_POLICY = "FLUSH_POLICY";<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by rest interface to access this metadata<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * attribute which denotes if the table is a -ROOT- region or not<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   *<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * @see #isRootRegion()<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public static final String IS_ROOT = "IS_ROOT";<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  private static final Bytes IS_ROOT_KEY =<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      new Bytes(Bytes.toBytes(IS_ROOT));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by rest interface to access this metadata<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * attribute which denotes if it is a catalog table, either<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   * &lt;code&gt; hbase:meta &lt;/code&gt; or &lt;code&gt; -ROOT- &lt;/code&gt;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   *<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   * @see #isMetaRegion()<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   */<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final String IS_META = "IS_META";<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  private static final Bytes IS_META_KEY =<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      new Bytes(Bytes.toBytes(IS_META));<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  /**<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by HBase Shell interface to access this metadata<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * attribute which denotes if the deferred log flush option is enabled.<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * @deprecated Use {@link #DURABILITY} instead.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   */<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  @Deprecated<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  public static final String DEFERRED_LOG_FLUSH = "DEFERRED_LOG_FLUSH";<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Deprecated<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final Bytes DEFERRED_LOG_FLUSH_KEY =<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      new Bytes(Bytes.toBytes(DEFERRED_LOG_FLUSH));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; {@link Durability} setting for the table.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public static final String DURABILITY = "DURABILITY";<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  private static final Bytes DURABILITY_KEY =<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      new Bytes(Bytes.toBytes("DURABILITY"));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; number of region replicas for the table.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  public static final String REGION_REPLICATION = "REGION_REPLICATION";<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  private static final Bytes REGION_REPLICATION_KEY =<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      new Bytes(Bytes.toBytes(REGION_REPLICATION));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; flag to indicate whether or not the memstore should be replicated<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * for read-replicas (CONSISTENCY =&amp;gt; TIMELINE).<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  public static final String REGION_MEMSTORE_REPLICATION = "REGION_MEMSTORE_REPLICATION";<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  private static final Bytes REGION_MEMSTORE_REPLICATION_KEY =<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      new Bytes(Bytes.toBytes(REGION_MEMSTORE_REPLICATION));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by shell/rest interface to access this metadata<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * attribute which denotes if the table should be treated by region normalizer.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   *<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @see #isNormalizationEnabled()<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  public static final String NORMALIZATION_ENABLED = "NORMALIZATION_ENABLED";<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final Bytes NORMALIZATION_ENABLED_KEY =<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    new Bytes(Bytes.toBytes(NORMALIZATION_ENABLED));<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /** Default durability for HTD is USE_DEFAULT, which defaults to HBase-global default value */<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private static final Durability DEFAULT_DURABLITY = Durability.USE_DEFAULT;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public static final String PRIORITY = "PRIORITY";<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private static final Bytes PRIORITY_KEY =<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    new Bytes(Bytes.toBytes(PRIORITY));<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /** Relative priority of the table used for rpc scheduling */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final int DEFAULT_PRIORITY = HConstants.NORMAL_QOS;<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>   *  The below are ugly but better than creating them each time till we<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   *  replace booleans being saved as Strings with plain booleans.  Need a<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   *  migration script to do this.  TODO.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   */<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  private static final Bytes FALSE =<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      new Bytes(Bytes.toBytes(Boolean.FALSE.toString()));<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  private static final Bytes TRUE =<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      new Bytes(Bytes.toBytes(Boolean.TRUE.toString()));<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  private static final boolean DEFAULT_DEFERRED_LOG_FLUSH = false;<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>   * Constant that denotes whether the table is READONLY by default and is false<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  public static final boolean DEFAULT_READONLY = false;<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>   * Constant that denotes whether the table is compaction enabled by default<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   */<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  public static final boolean DEFAULT_COMPACTION_ENABLED = true;<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  /**<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * Constant that denotes whether the table is normalized by default.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public static final boolean DEFAULT_NORMALIZATION_ENABLED = false;<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Constant that denotes the maximum default size of the memstore after which<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * the contents are flushed to the store files<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static final long DEFAULT_MEMSTORE_FLUSH_SIZE = 1024*1024*128L;<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  public static final int DEFAULT_REGION_REPLICATION = 1;<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  public static final boolean DEFAULT_REGION_MEMSTORE_REPLICATION = true;<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private final static Map&lt;String, String&gt; DEFAULT_VALUES<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    = new HashMap&lt;String, String&gt;();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  private final static Set&lt;Bytes&gt; RESERVED_KEYWORDS<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      = new HashSet&lt;Bytes&gt;();<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  static {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    DEFAULT_VALUES.put(MAX_FILESIZE,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>        String.valueOf(HConstants.DEFAULT_MAX_FILE_SIZE));<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    DEFAULT_VALUES.put(READONLY, String.valueOf(DEFAULT_READONLY));<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    DEFAULT_VALUES.put(MEMSTORE_FLUSHSIZE,<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        String.valueOf(DEFAULT_MEMSTORE_FLUSH_SIZE));<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    DEFAULT_VALUES.put(DEFERRED_LOG_FLUSH,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        String.valueOf(DEFAULT_DEFERRED_LOG_FLUSH));<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    DEFAULT_VALUES.put(DURABILITY, DEFAULT_DURABLITY.name()); //use the enum name<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    DEFAULT_VALUES.put(REGION_REPLICATION, String.valueOf(DEFAULT_REGION_REPLICATION));<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    DEFAULT_VALUES.put(NORMALIZATION_ENABLED, String.valueOf(DEFAULT_NORMALIZATION_ENABLED));<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    DEFAULT_VALUES.put(PRIORITY, String.valueOf(DEFAULT_PRIORITY));<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    for (String s : DEFAULT_VALUES.keySet()) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(s)));<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    }<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    RESERVED_KEYWORDS.add(IS_ROOT_KEY);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    RESERVED_KEYWORDS.add(IS_META_KEY);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * Cache of whether this is a meta table or not.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private volatile Boolean meta = null;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   * Cache of whether this is root table or not.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>  private volatile Boolean root = null;<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>  /**<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * Durability setting for the table<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   */<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  private Durability durability = null;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  /**<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   * Maps column family name to the respective HColumnDescriptors<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   */<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  private final Map&lt;byte [], HColumnDescriptor&gt; families =<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    new TreeMap&lt;byte [], HColumnDescriptor&gt;(Bytes.BYTES_RAWCOMPARATOR);<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>   * &lt;em&gt; INTERNAL &lt;/em&gt; Private constructor used internally creating table descriptors for<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * catalog tables, &lt;code&gt;hbase:meta&lt;/code&gt; and &lt;code&gt;-ROOT-&lt;/code&gt;.<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   */<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  @InterfaceAudience.Private<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  protected HTableDescriptor(final TableName name, HColumnDescriptor[] families) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    setName(name);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    for(HColumnDescriptor descriptor : families) {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      this.families.put(descriptor.getName(), descriptor);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    }<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>  /**<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * &lt;em&gt; INTERNAL &lt;/em&gt;Private constructor used internally creating table descriptors for<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   * catalog tables, &lt;code&gt;hbase:meta&lt;/code&gt; and &lt;code&gt;-ROOT-&lt;/code&gt;.<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   */<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  protected HTableDescriptor(final TableName name, HColumnDescriptor[] families,<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      Map&lt;Bytes, Bytes&gt; values) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    setName(name);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    for(HColumnDescriptor descriptor : families) {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      this.families.put(descriptor.getName(), descriptor);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    for (Map.Entry&lt;Bytes, Bytes&gt; entry :<a name="line.305"></a>
-<span class="sourceLineNo">306</span>        values.entrySet()) {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      setValue(entry.getKey(), entry.getValue());<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    }<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  }<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>   * Default constructor which constructs an empty object.<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * For deserializing an HTableDescriptor instance only.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @deprecated As of release 0.96 (&lt;a href="https://issues.apache.org/jira/browse/HBASE-5453"&gt;HBASE-5453&lt;/a&gt;).<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   *             This was made protected in 2.0.0 and will be removed in HBase 3.0.0.<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   *             Used by Writables and Writables are going away.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   */<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  @Deprecated<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected HTableDescriptor() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    super();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>  /**<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * Construct a table descriptor specifying a TableName object<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @param name Table name.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-174"&gt;HADOOP-1581 HBASE: (HBASE-174) Un-openable tablename bug&lt;/a&gt;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   */<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  public HTableDescriptor(final TableName name) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    super();<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    setName(name);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  }<a name="line.331"></a>
-<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span>  /**<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * Construct a table descriptor specifying a byte array table name<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param name Table name.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-174"&gt;HADOOP-1581 (HBASE-174) HBASE: Un-openable tablename bug&lt;/a&gt;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  @Deprecated<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  public HTableDescriptor(final byte[] name) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    this(TableName.valueOf(name));<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  /**<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * Construct a table descriptor specifying a String table name<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * @param name Table name.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-174"&gt;HADOOP-1581 (HBASE-174) HBASE: Un-openable tablename bug&lt;/a&gt;<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   */<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  @Deprecated<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  public HTableDescriptor(final String name) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    this(TableName.valueOf(name));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * Construct a table descriptor by cloning the descriptor passed as a parameter.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * &lt;p&gt;<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * Makes a deep copy of the supplied descriptor.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * Can make a modifiable descriptor from an UnmodifyableHTableDescriptor.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * @param desc The descriptor.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   */<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  public HTableDescriptor(final HTableDescriptor desc) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    this(desc.name, desc);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>  }<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  /**<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * Construct a table descriptor by cloning the descriptor passed as a parameter<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * but using a different table name.<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * &lt;p&gt;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * Makes a deep copy of the supplied descriptor.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * Can make a modifiable descriptor from an UnmodifyableHTableDescriptor.<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param name Table name.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param desc The descriptor.<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   */<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  public HTableDescriptor(final TableName name, final HTableDescriptor desc) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    super();<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    setName(name);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    setMetaFlags(this.name);<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    for (HColumnDescriptor c: desc.families.values()) {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      this.families.put(c.getName(), new HColumnDescriptor(c));<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    for (Map.Entry&lt;Bytes, Bytes&gt; e :<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        desc.values.entrySet()) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      setValue(e.getKey(), e.getValue());<a name="line.382"></a>
+<span class="sourceLineNo">067</span>  private final Map&lt;Bytes, Bytes&gt; values = new HashMap&lt;&gt;();<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>   * A map which holds the configuration specific to the table.<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * The keys of the map have the same names as config keys and override the defaults with<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * table-specific settings. Example usage may be for compactions, etc.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private final Map&lt;String, String&gt; configuration = new HashMap&lt;&gt;();<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public static final String SPLIT_POLICY = "SPLIT_POLICY";<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>  /**<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by HBase Shell interface to access this metadata<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * attribute which denotes the maximum size of the store file after which<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * a region split occurs<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   *<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @see #getMaxFileSize()<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  public static final String MAX_FILESIZE = "MAX_FILESIZE";<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private static final Bytes MAX_FILESIZE_KEY =<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      new Bytes(Bytes.toBytes(MAX_FILESIZE));<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>  public static final String OWNER = "OWNER";<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public static final Bytes OWNER_KEY =<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      new Bytes(Bytes.toBytes(OWNER));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by rest interface to access this metadata<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * attribute which denotes if the table is Read Only<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   *<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @see #isReadOnly()<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public static final String READONLY = "READONLY";<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  private static final Bytes READONLY_KEY =<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      new Bytes(Bytes.toBytes(READONLY));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by HBase Shell interface to access this metadata<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * attribute which denotes if the table is compaction enabled<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   *<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @see #isCompactionEnabled()<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   */<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  public static final String COMPACTION_ENABLED = "COMPACTION_ENABLED";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  private static final Bytes COMPACTION_ENABLED_KEY =<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      new Bytes(Bytes.toBytes(COMPACTION_ENABLED));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by HBase Shell interface to access this metadata<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * attribute which represents the maximum size of the memstore after which<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * its contents are flushed onto the disk<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   *<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * @see #getMemStoreFlushSize()<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public static final String MEMSTORE_FLUSHSIZE = "MEMSTORE_FLUSHSIZE";<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  private static final Bytes MEMSTORE_FLUSHSIZE_KEY =<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      new Bytes(Bytes.toBytes(MEMSTORE_FLUSHSIZE));<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  public static final String FLUSH_POLICY = "FLUSH_POLICY";<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  /**<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by rest interface to access this metadata<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * attribute which denotes if the table is a -ROOT- region or not<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   *<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @see #isRootRegion()<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public static final String IS_ROOT = "IS_ROOT";<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  private static final Bytes IS_ROOT_KEY =<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      new Bytes(Bytes.toBytes(IS_ROOT));<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by rest interface to access this metadata<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * attribute which denotes if it is a catalog table, either<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * &lt;code&gt; hbase:meta &lt;/code&gt; or &lt;code&gt; -ROOT- &lt;/code&gt;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   *<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * @see #isMetaRegion()<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  public static final String IS_META = "IS_META";<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  private static final Bytes IS_META_KEY =<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      new Bytes(Bytes.toBytes(IS_META));<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  /**<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by HBase Shell interface to access this metadata<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * attribute which denotes if the deferred log flush option is enabled.<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * @deprecated Use {@link #DURABILITY} instead.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   */<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  @Deprecated<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  public static final String DEFERRED_LOG_FLUSH = "DEFERRED_LOG_FLUSH";<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  @Deprecated<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final Bytes DEFERRED_LOG_FLUSH_KEY =<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      new Bytes(Bytes.toBytes(DEFERRED_LOG_FLUSH));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; {@link Durability} setting for the table.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static final String DURABILITY = "DURABILITY";<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  private static final Bytes DURABILITY_KEY =<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      new Bytes(Bytes.toBytes("DURABILITY"));<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>  /**<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; number of region replicas for the table.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  public static final String REGION_REPLICATION = "REGION_REPLICATION";<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  private static final Bytes REGION_REPLICATION_KEY =<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      new Bytes(Bytes.toBytes(REGION_REPLICATION));<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  /**<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * &lt;em&gt;INTERNAL&lt;/em&gt; flag to indicate whether or not the memstore should be replicated<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * for read-replicas (CONSISTENCY =&amp;gt; TIMELINE).<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   */<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public static final String REGION_MEMSTORE_REPLICATION = "REGION_MEMSTORE_REPLICATION";<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  private static final Bytes REGION_MEMSTORE_REPLICATION_KEY =<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      new Bytes(Bytes.toBytes(REGION_MEMSTORE_REPLICATION));<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>   * &lt;em&gt;INTERNAL&lt;/em&gt; Used by shell/rest interface to access this metadata<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * attribute which denotes if the table should be treated by region normalizer.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * @see #isNormalizationEnabled()<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public static final String NORMALIZATION_ENABLED = "NORMALIZATION_ENABLED";<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  private static final Bytes NORMALIZATION_ENABLED_KEY =<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    new Bytes(Bytes.toBytes(NORMALIZATION_ENABLED));<a name="line.188"></a>
+<span class="sourceLineNo">189</span><a name="line.189"></a>
+<span class="sourceLineNo">190</span>  /** Default durability for HTD is USE_DEFAULT, which defaults to HBase-global default value */<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final Durability DEFAULT_DURABLITY = Durability.USE_DEFAULT;<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>  public static final String PRIORITY = "PRIORITY";<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  private static final Bytes PRIORITY_KEY =<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    new Bytes(Bytes.toBytes(PRIORITY));<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>  /** Relative priority of the table used for rpc scheduling */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  private static final int DEFAULT_PRIORITY = HConstants.NORMAL_QOS;<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /*<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   *  The below are ugly but better than creating them each time till we<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   *  replace booleans being saved as Strings with plain booleans.  Need a<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   *  migration script to do this.  TODO.<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  private static final Bytes FALSE =<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      new Bytes(Bytes.toBytes(Boolean.FALSE.toString()));<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  private static final Bytes TRUE =<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      new Bytes(Bytes.toBytes(Boolean.TRUE.toString()));<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  private static final boolean DEFAULT_DEFERRED_LOG_FLUSH = false;<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>  /**<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * Constant that denotes whether the table is READONLY by default and is false<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  public static final boolean DEFAULT_READONLY = false;<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>   * Constant that denotes whether the table is compaction enabled by default<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   */<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  public static final boolean DEFAULT_COMPACTION_ENABLED = true;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  /**<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * Constant that denotes whether the table is normalized by default.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  public static final boolean DEFAULT_NORMALIZATION_ENABLED = false;<a name="line.226"></a>
+<span class="sourceLineNo">227</span><a name="line.227"></a>
+<span class="sourceLineNo">228</span>  /**<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * Constant that denotes the maximum default size of the memstore after which<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * the contents are flushed to the store files<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  public static final long DEFAULT_MEMSTORE_FLUSH_SIZE = 1024*1024*128L;<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  public static final int DEFAULT_REGION_REPLICATION = 1;<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public static final boolean DEFAULT_REGION_MEMSTORE_REPLICATION = true;<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  private final static Map&lt;String, String&gt; DEFAULT_VALUES = new HashMap&lt;&gt;();<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  private final static Set&lt;Bytes&gt; RESERVED_KEYWORDS = new HashSet&lt;&gt;();<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  static {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    DEFAULT_VALUES.put(MAX_FILESIZE,<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        String.valueOf(HConstants.DEFAULT_MAX_FILE_SIZE));<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    DEFAULT_VALUES.put(READONLY, String.valueOf(DEFAULT_READONLY));<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    DEFAULT_VALUES.put(MEMSTORE_FLUSHSIZE,<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        String.valueOf(DEFAULT_MEMSTORE_FLUSH_SIZE));<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    DEFAULT_VALUES.put(DEFERRED_LOG_FLUSH,<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        String.valueOf(DEFAULT_DEFERRED_LOG_FLUSH));<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    DEFAULT_VALUES.put(DURABILITY, DEFAULT_DURABLITY.name()); //use the enum name<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    DEFAULT_VALUES.put(REGION_REPLICATION, String.valueOf(DEFAULT_REGION_REPLICATION));<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    DEFAULT_VALUES.put(NORMALIZATION_ENABLED, String.valueOf(DEFAULT_NORMALIZATION_ENABLED));<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    DEFAULT_VALUES.put(PRIORITY, String.valueOf(DEFAULT_PRIORITY));<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    for (String s : DEFAULT_VALUES.keySet()) {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      RESERVED_KEYWORDS.add(new Bytes(Bytes.toBytes(s)));<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    }<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    RESERVED_KEYWORDS.add(IS_ROOT_KEY);<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    RESERVED_KEYWORDS.add(IS_META_KEY);<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>  /**<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * Cache of whether this is a meta table or not.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private volatile Boolean meta = null;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * Cache of whether this is root table or not.<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   */<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  private volatile Boolean root = null;<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>   * Durability setting for the table<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private Durability durability = null;<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>   * Maps column family name to the respective HColumnDescriptors<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private final Map&lt;byte [], HColumnDescriptor&gt; families =<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    new TreeMap&lt;&gt;(Bytes.BYTES_RAWCOMPARATOR);<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * &lt;em&gt; INTERNAL &lt;/em&gt; Private constructor used internally creating table descriptors for<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * catalog tables, &lt;code&gt;hbase:meta&lt;/code&gt; and &lt;code&gt;-ROOT-&lt;/code&gt;.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  @InterfaceAudience.Private<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  protected HTableDescriptor(final TableName name, HColumnDescriptor[] families) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    setName(name);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    for(HColumnDescriptor descriptor : families) {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      this.families.put(descriptor.getName(), descriptor);<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><a name="line.291"></a>
+<span class="sourceLineNo">292</span>  /**<a name="line.292"></a>
+<span class="sourceLineNo">293</span>   * &lt;em&gt; INTERNAL &lt;/em&gt;Private constructor used internally creating table descriptors for<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * catalog tables, &lt;code&gt;hbase:meta&lt;/code&gt; and &lt;code&gt;-ROOT-&lt;/code&gt;.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  protected HTableDescriptor(final TableName name, HColumnDescriptor[] families,<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      Map&lt;Bytes, Bytes&gt; values) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    setName(name);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    for(HColumnDescriptor descriptor : families) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      this.families.put(descriptor.getName(), descriptor);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    }<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    for (Map.Entry&lt;Bytes, Bytes&gt; entry :<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        values.entrySet()) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      setValue(entry.getKey(), entry.getValue());<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * Default constructor which constructs an empty object.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * For deserializing an HTableDescriptor instance only.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * @deprecated As of release 0.96 (&lt;a href="https://issues.apache.org/jira/browse/HBASE-5453"&gt;HBASE-5453&lt;/a&gt;).<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   *             This was made protected in 2.0.0 and will be removed in HBase 3.0.0.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   *             Used by Writables and Writables are going away.<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   */<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  @Deprecated<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  protected HTableDescriptor() {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    super();<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * Construct a table descriptor specifying a TableName object<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * @param name Table name.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-174"&gt;HADOOP-1581 HBASE: (HBASE-174) Un-openable tablename bug&lt;/a&gt;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   */<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  public HTableDescriptor(final TableName name) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    super();<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    setName(name);<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span>  /**<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * Construct a table descriptor specifying a byte array table name<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * @param name Table name.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-174"&gt;HADOOP-1581 (HBASE-174) HBASE: Un-openable tablename bug&lt;/a&gt;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Deprecated<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  public HTableDescriptor(final byte[] name) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    this(TableName.valueOf(name));<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * Construct a table descriptor specifying a String table name<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * @param name Table name.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-174"&gt;HADOOP-1581 (HBASE-174) HBASE: Un-openable tablename bug&lt;/a&gt;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  @Deprecated<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  public HTableDescriptor(final String name) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    this(TableName.valueOf(name));<a name="line.347"></a>
+<span class="sourceLineNo">348</span>  }<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * Construct a table descriptor by cloning the descriptor passed as a parameter.<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * &lt;p&gt;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * Makes a deep copy of the supplied descriptor.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   * Can make a modifiable descriptor from an UnmodifyableHTableDescriptor.<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * @param desc The descriptor.<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   */<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  public HTableDescriptor(final HTableDescriptor desc) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    this(desc.name, desc);<a name="line.358"></a>
+<span class="sourceLineNo">359</span>  }<a name="line.359"></a>
+<span class="sourceLineNo">360</span><a name="line.360"></a>
+<span class="sourceLineNo">361</span>  /**<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * Construct a table descriptor by cloning the descriptor passed as a parameter<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * but using a different table name.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * &lt;p&gt;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * Makes a deep copy of the supplied descriptor.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * Can make a modifiable descriptor from an UnmodifyableHTableDescriptor.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @param name Table name.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @param desc The descriptor.<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  public HTableDescriptor(final TableName name, final HTableDescriptor desc) {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    super();<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    setName(name);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    setMetaFlags(this.name);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    for (HColumnDescriptor c: desc.families.values()) {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      this.families.put(c.getName(), new HColumnDescriptor(c));<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    }<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    for (Map.Entry&lt;Bytes, Bytes&gt; e :<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        desc.values.entrySet()) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      setValue(e.getKey(), e.getValue());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    }<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    for (Map.Entry&lt;String, String&gt; e : desc.configuration.entrySet()) {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      this.configuration.put(e.getKey(), e.getValue());<a name="line.382"></a>
 <span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    for (Map.Entry&lt;String, String&gt; e : desc.configuration.entrySet()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      this.configuration.put(e.getKey(), e.getValue());<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    }<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>  /*<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * Set meta flags on this table.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * IS_ROOT_KEY is set if its a -ROOT- table<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * IS_META_KEY is set either if its a -ROOT- or a hbase:meta table<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Called by constructors.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * @param name<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   */<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  private void setMetaFlags(final TableName name) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    setMetaRegion(isRootRegion() ||<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        name.equals(TableName.META_TABLE_NAME));<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * Check if the descriptor represents a &lt;code&gt; -ROOT- &lt;/code&gt; region.<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   *<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @return true if this is a &lt;code&gt; -ROOT- &lt;/code&gt; region<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public boolean isRootRegion() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    if (this.root == null) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      this.root = isSomething(IS_ROOT_KEY, false)? Boolean.TRUE: Boolean.FALSE;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    }<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    return this.root.booleanValue();<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  }<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>  /**<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * &lt;em&gt; INTERNAL &lt;/em&gt; Used to denote if the current table represents<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * &lt;code&gt; -ROOT- &lt;/code&gt; region. This is used internally by the<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * HTableDescriptor constructors<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   *<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param isRoot true if this is the &lt;code&gt; -ROOT- &lt;/code&gt; region<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  protected void setRootRegion(boolean isRoot) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    // TODO: Make the value a boolean rather than String of boolean.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    setValue(IS_ROOT_KEY, isRoot? TRUE: FALSE);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>  /**<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * region.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   *<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * region<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public boolean isMetaRegion() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    if (this.meta == null) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      this.meta = calculateIsMetaRegion();<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    return this.meta.booleanValue();<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  }<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  private synchronized Boolean calculateIsMetaRegion() {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    byte [] value = getValue(IS_META_KEY);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    return (value != null)? Boolean.valueOf(Bytes.toString(value)): Boolean.FALSE;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  }<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>  private boolean isSomething(final Bytes key,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean valueIfNull) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    byte [] value = getValue(key);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    if (value != null) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      return Boolean.valueOf(Bytes.toString(value));<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    }<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    return valueIfNull;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<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>   * &lt;em&gt; INTERNAL &lt;/em&gt; Used to denote if the current table represents<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * &lt;code&gt; -ROOT- &lt;/code&gt; or &lt;code&gt; hbase:meta &lt;/code&gt; region. This is used<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * internally by the HTableDescriptor constructors<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   *<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   * @param isMeta true if its either &lt;code&gt; -ROOT- &lt;/code&gt; or<a name="line.458"></a>
-<span class="sourceLineNo">459</span>   * &lt;code&gt; hbase:meta &lt;/code&gt; region<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   */<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  protected void setMetaRegion(boolean isMeta) {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    setValue(IS_META_KEY, isMeta? TRUE: FALSE);<a name="line.462"></a>
-<span class="sourceLineNo">463</span>  }<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>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   *<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   */<a name="line.469"></a>
-<span class="sourceLineNo">470</span>  public boolean isMetaTable() {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    return isMetaRegion() &amp;&amp; !isRootRegion();<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  }<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * Getter for accessing the metadata associated with the key<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   *<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param key The key.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @return The value.<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @see #values<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   */<a name="line.480"></a>
-<span class="sourceLineNo">481</span>  public byte[] getValue(byte[] key) {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    return getValue(new Bytes(key));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>  private byte[] getValue(final Bytes key) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    Bytes ibw = values.get(key);<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    if (ibw == null)<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      return null;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    return ibw.get();<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>
-<span class="sourceLineNo">493</span>   * Getter for accessing the metadata associated with the key<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   *<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * @param key The key.<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   * @return The value.<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * @see #values<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   */<a name="line.498"></a>
-<span class="sourceLineNo">499</span>  public String getValue(String key) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    byte[] value = getValue(Bytes.toBytes(key));<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    if (value == null)<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      return null;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    return Bytes.toString(value);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>  /**<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   * Getter for fetching an unmodifiable {@link #values} map.<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   *<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * @return unmodifiable map {@link #values}.<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * @see #values<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   */<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  public Map&lt;Bytes, Bytes&gt; getValues() {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    // shallow pointer copy<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    return Collections.unmodifiableMap(values);<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>  /**<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * Setter for storing metadata as a (key, value) pair in {@link #values} map<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   *<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @param key The key.<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * @param value The value.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * @see #values<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   */<a name="line.523"></a>
-<span class="sourceLineNo">524</span>  public HTableDescriptor setValue(byte[] key, byte[] value) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    setValue(new Bytes(key), new Bytes(value));<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    return this;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>  /*<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param key The key.<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param value The value.<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  private HTableDescriptor setValue(final Bytes key,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      final String value) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    setValue(key, new Bytes(Bytes.toBytes(value)));<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    return this;<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  }<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>   * Setter for storing metadata as a (key, value) pair in {@link #values} map<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   *<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   * @param key The key.<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   * @param value The value.<a name="line.543"></a>
-<span class="sourceLineNo">544</span>   */<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  public HTableDescriptor setValue(final Bytes key, final Bytes value) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    if (key.compareTo(DEFERRED_LOG_FLUSH_KEY) == 0) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      boolean isDeferredFlush = Boolean.valueOf(Bytes.toString(value.get()));<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      LOG.warn("HTableDescriptor property:" + DEFERRED_LOG_FLUSH + " is deprecated, " +<a name="line.548"></a>
-<span class="sourceLineNo">549</span>          "use " + DURABILITY + " instead");<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      setDurability(isDeferredFlush ? Durability.ASYNC_WAL : DEFAULT_DURABLITY);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      return this;<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    values.put(key, value);<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    return this;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>  }<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span>  /**<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * Setter for storing metadata as a (key, value) pair in {@link #values} map<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   *<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * @param key The key.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * @param value The value.<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * @see #values<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   */<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  public HTableDescriptor setValue(String key, String value) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (value == null) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      remove(key);<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    } else {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      setValue(Bytes.toBytes(key), Bytes.toBytes(value));<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    }<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    return this;<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>   * Remove metadata represented by the key from the {@link #values} map<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   *<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   * parameters.<a name="line.577"></a>
-<span class="sourceLineNo">578</span>   */<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public void remove(final String key) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    remove(new Bytes(Bytes.toBytes(key)));<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
-<span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * Remove metadata represented by the key from the {@link #values} map<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   *<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   * parameters.<a name="line.587"></a>
-<span class="sourceLineNo">588</span>   */<a name="line.588"></a>
-<span class="sourceLineNo">589</span>  public void remove(Bytes key) {<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    values.remove(key);<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>   * Remove metadata represented by the key from the {@link #values} map<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   *<a name="line.595"></a>
-<span class="sourceLineNo">596</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.596"></a>
-<span class="sourceLineNo">597</span>   * parameters.<a name="line.597"></a>
-<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
-<span class="sourceLineNo">599</span>  public void remove(final byte [] key) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    remove(new Bytes(key));<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>   * Check if the readOnly flag of the table is set. If the readOnly flag is<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * set then the contents of the table can only be read from but not modified.<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   *<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * @return true if all columns in the table should be read only<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   */<a name="line.608"></a>
-<span class="sourceLineNo">609</span>  public boolean isReadOnly() {<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    return isSomething(READONLY_KEY, DEFAULT_READONLY);<a name="line.610"></a>
-<span class="sourceLineNo">611</span>  }<a name="line.611"></a>
-<span class="sourceLineNo">612</span><a name="line.612"></a>
-<span class="sourceLineNo">613</span>  /**<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * Setting the table as read only sets all the columns in the table as read<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * only. By default all tables are modifiable, but if the readOnly flag is<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * set to true then the contents of the table can only be read but not modified.<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   *<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param readOnly True if all of the columns in the table should be read<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * only.<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   */<a name="line.620"></a>
-<span class="sourceLineNo">621</span>  public HTableDescriptor setReadOnly(final boolean readOnly) {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    return setValue(READONLY_KEY, readOnly? TRUE: FALSE);<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>  /**<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   * Check if the compaction enable flag of the table is true. If flag is<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * false then no minor/major compactions will be done in real.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   *<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * @return true if table compaction enabled<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   */<a name="line.630"></a>
-<span class="sourceLineNo">631</span>  public boolean isCompactionEnabled() {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    return isSomething(COMPACTION_ENABLED_KEY, DEFAULT_COMPACTION_ENABLED);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>  /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * Setting the table compaction enable flag.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   *<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * @param isEnable True if enable compaction.<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   */<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  public HTableDescriptor setCompactionEnabled(final boolean isEnable) {<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    setValue(COMPACTION_ENABLED_KEY, isEnable ? TRUE : FALSE);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    return this;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  }<a name="line.643"></a>
-<span class="sourceLineNo">644</span><a name="line.644"></a>
-<span class="sourceLineNo">645</span>  /**<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   * Check if normalization enable flag of the table is true. If flag is<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * false then no region normalizer won't attempt to normalize this table.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   *<a name="line.648"></a>
-<span class="sourceLineNo">649</span>   * @return true if region normalization is enabled for this table<a name="line.649"></a>
-<span class="sourceLineNo">650</span>   */<a name="line.650"></a>
-<span class="sourceLineNo">651</span>  public boolean isNormalizationEnabled() {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    return isSomething(NORMALIZATION_ENABLED_KEY, DEFAULT_NORMALIZATION_ENABLED);<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>  /**<a name="line.655"></a>
-<span class="sourceLineNo">656</span>   * Setting the table normalization enable flag.<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   *<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * @param isEnable True if enable normalization.<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  public HTableDescriptor setNormalizationEnabled(final boolean isEnable) {<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    setValue(NORMALIZATION_ENABLED_KEY, isEnable ? TRUE : FALSE);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    return this;<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>  /**<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   * Sets 

<TRUNCATED>

[47/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index d3283c2..31012a5 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -84,6 +84,8 @@
 <dd>
 <div class="block">abort a procedure</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#abortProcedure-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest-">abortProcedure(RpcController, MasterProtos.AbortProcedureRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#abortProcedureAsync-long-boolean-">abortProcedureAsync(long, boolean)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Abort a procedure but does not block and wait for it be completely removed.</div>
@@ -156,7 +158,7 @@
 &nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#addAllServers-java.util.Collection-">addAllServers(Collection&lt;Address&gt;)</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
 <dd>
-<div class="block">Adds a group of servers.</div>
+<div class="block">Adds the given servers to the group.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#addAllTables-java.util.Collection-">addAllTables(Collection&lt;TableName&gt;)</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
 <dd>&nbsp;</dd>
@@ -208,6 +210,8 @@
 <dd>
 <div class="block">Get the column from the specified family with the specified qualifier.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#addColumn-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest-">addColumn(RpcController, MasterProtos.AddColumnRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#addColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">addColumnFamily(TableName, HColumnDescriptor)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Add a column family to an existing table.</div>
@@ -384,6 +388,8 @@
 <dd>
 <div class="block">Add a new replication peer for replicating data to slave cluster</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#addReplicationPeer-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest-">addReplicationPeer(RpcController, ReplicationProtos.AddReplicationPeerRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net"><span class="typeNameLink">Address</span></a> - Class in <a href="org/apache/hadoop/hbase/net/package-summary.html">org.apache.hadoop.hbase.net</a></dt>
 <dd>
 <div class="block">An immutable type to hold a hostname and port combo, like an Endpoint
@@ -393,7 +399,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#addServer-org.apache.hadoop.hbase.net.Address-">addServer(Address)</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
 <dd>
-<div class="block">Adds the server to the group.</div>
+<div class="block">Adds the given server to the group.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#addTable-org.apache.hadoop.hbase.TableName-">addTable(TableName)</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
 <dd>&nbsp;</dd>
@@ -516,6 +522,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#assign-byte:A-">assign(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#assignRegion-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest-">assignRegion(RpcController, MasterProtos.AssignRegionRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncAdmin</span></a> - Interface in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>
 <div class="block">The asynchronous administrative API for HBase.</div>
@@ -572,6 +580,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/BadAuthException.html#BadAuthException-java.lang.String-java.lang.Throwable-">BadAuthException(String, Throwable)</a></span> - Constructor for exception org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/BadAuthException.html" title="class in org.apache.hadoop.hbase.ipc">BadAuthException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#balance-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest-">balance(RpcController, MasterProtos.BalanceRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#balancer--">balancer()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Invoke the balancer.</div>
@@ -803,6 +813,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/ImportTsv.html#BULK_OUTPUT_CONF_KEY">BULK_OUTPUT_CONF_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/ImportTsv.html" title="class in org.apache.hadoop.hbase.mapreduce">ImportTsv</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#BULK_OUTPUT_CONF_KEY">BULK_OUTPUT_CONF_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html" title="class in org.apache.hadoop.hbase.mapreduce">WALPlayer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobConstants.html#BULKLOAD_DIR_NAME">BULKLOAD_DIR_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobConstants.html" title="class in org.apache.hadoop.hbase.mob">MobConstants</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#BULKLOAD_MAX_RETRIES_NUMBER">BULKLOAD_MAX_RETRIES_NUMBER</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
@@ -1263,6 +1275,8 @@
 <dd>
 <div class="block">Closes the scanner and releases any resources it has allocated</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#close--">close()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Table.html#close--">close()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></dt>
 <dd>
 <div class="block">Releases any resources held or pending changes in internal buffers.</div>
@@ -2157,7 +2171,7 @@
 <dd>
 <div class="block">Takes a compareOperator symbol as a byte array and returns the corresponding CompareOperator</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Result.html#createCompleteResult-java.util.List-">createCompleteResult(List&lt;Result&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Result.html#createCompleteResult-java.lang.Iterable-">createCompleteResult(Iterable&lt;Result&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></dt>
 <dd>
 <div class="block">Forms a single result from the partial results in the partialResults list.</div>
 </dd>
@@ -2314,6 +2328,12 @@
 <dd>
 <div class="block">Create a new namespace.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#createNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">createNamespace(NamespaceDescriptor)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Create a new namespace.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#createNamespace-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest-">createNamespace(RpcController, MasterProtos.CreateNamespaceRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#createNamespaceAsync-org.apache.hadoop.hbase.NamespaceDescriptor-">createNamespaceAsync(NamespaceDescriptor)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Create a new namespace</div>
@@ -2409,6 +2429,8 @@
 <dd>
 <div class="block">Creates a new table with an initial set of empty regions defined by the specified split keys.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#createTable-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest-">createTable(RpcController, MasterProtos.CreateTableRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html#createTable-org.apache.hadoop.hbase.HTableDescriptor-">createTable(HTableDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteAdmin</a></dt>
 <dd>
 <div class="block">Creates a new table.</div>
@@ -3230,6 +3252,8 @@
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#deleteColumnFamily-org.apache.hadoop.hbase.TableName-byte:A-"><code>Admin.deleteColumnFamily(TableName, byte[])</code></a>}.</span></div>
 </div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#deleteColumn-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest-">deleteColumn(RpcController, MasterProtos.DeleteColumnRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#deleteColumnFamily-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamily(TableName, byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Delete a column family from a table.</div>
@@ -3246,6 +3270,12 @@
 <dd>
 <div class="block">Delete an existing namespace.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteNamespace-java.lang.String-">deleteNamespace(String)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Delete an existing namespace.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#deleteNamespace-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest-">deleteNamespace(RpcController, MasterProtos.DeleteNamespaceRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#deleteNamespaceAsync-java.lang.String-">deleteNamespaceAsync(String)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Delete an existing namespace.</div>
@@ -3258,6 +3288,8 @@
 <dd>
 <div class="block">Delete an existing snapshot.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#deleteSnapshot-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest-">deleteSnapshot(RpcController, MasterProtos.DeleteSnapshotRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#deleteSnapshots-java.lang.String-">deleteSnapshots(String)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Delete existing snapshots whose names match the pattern passed.</div>
@@ -3274,6 +3306,8 @@
 <dd>
 <div class="block">Deletes a table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#deleteTable-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest-">deleteTable(RpcController, MasterProtos.DeleteTableRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html#deleteTable-java.lang.String-">deleteTable(String)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteAdmin</a></dt>
 <dd>
 <div class="block">Deletes a table.</div>
@@ -3380,6 +3414,8 @@
 <dd>
 <div class="block">Stop the replication stream to the specified peer</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#disableReplicationPeer-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest-">disableReplicationPeer(RpcController, ReplicationProtos.DisableReplicationPeerRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#disableTable-org.apache.hadoop.hbase.TableName-">disableTable(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Disable table and wait on completion.</div>
@@ -3388,6 +3424,8 @@
 <dd>
 <div class="block">Disable a table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#disableTable-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest-">disableTable(RpcController, MasterProtos.DisableTableRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#disableTableAsync-org.apache.hadoop.hbase.TableName-">disableTableAsync(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Disable the table but does not block and wait for it be completely disabled.</div>
@@ -3498,6 +3536,8 @@
 <dd>
 <div class="block">Mark a region server as draining to prevent additional regions from getting assigned to it.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#drainRegionServers-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DrainRegionServersRequest-">drainRegionServers(RpcController, MasterProtos.DrainRegionServersRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html#dropDependentColumn">dropDependentColumn</a></span> - Variable in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html#dropDependentColumn--">dropDependentColumn()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></dt>
@@ -3583,6 +3623,8 @@
 <dd>
 <div class="block">Enable/Disable the catalog janitor</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#enableCatalogJanitor-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorRequest-">enableCatalogJanitor(RpcController, MasterProtos.EnableCatalogJanitorRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#enablePeer-java.lang.String-">enablePeer(String)</a></span> - Method in class org.apache.hadoop.hbase.client.replication.<a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html" title="class in org.apache.hadoop.hbase.client.replication">ReplicationAdmin</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -3594,6 +3636,8 @@
 <dd>
 <div class="block">Restart the replication stream to the specified peer</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#enableReplicationPeer-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest-">enableReplicationPeer(RpcController, ReplicationProtos.EnableReplicationPeerRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#enableTable-org.apache.hadoop.hbase.TableName-">enableTable(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Enable a table.</div>
@@ -3602,6 +3646,8 @@
 <dd>
 <div class="block">Enable a table.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#enableTable-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest-">enableTable(RpcController, MasterProtos.EnableTableRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#enableTableAsync-org.apache.hadoop.hbase.TableName-">enableTableAsync(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Enable the table but does not block and wait for it be completely enabled.</div>
@@ -4123,14 +4169,20 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#EVICT_BLOCKS_ON_CLOSE">EVICT_BLOCKS_ON_CLOSE</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#execMasterService-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest-">execMasterService(RpcController, ClientProtos.CoprocessorServiceRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#execProcedure-java.lang.String-java.lang.String-java.util.Map-">execProcedure(String, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Execute a distributed procedure on a cluster.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#execProcedure-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest-">execProcedure(RpcController, MasterProtos.ExecProcedureRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#execProcedureWithRet-java.lang.String-java.lang.String-java.util.Map-">execProcedureWithRet(String, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Execute a distributed procedure on a cluster.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#execProcedureWithRet-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest-">execProcedureWithRet(RpcController, MasterProtos.ExecProcedureRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/Client.html#execute-org.apache.hadoop.hbase.rest.client.Cluster-org.apache.http.client.methods.HttpUriRequest-org.apache.http.Header:A-java.lang.String-">execute(Cluster, HttpUriRequest, Header[], String)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/Client.html" title="class in org.apache.hadoop.hbase.rest.client">Client</a></dt>
 <dd>
 <div class="block">Execute a transaction method.</div>
@@ -4716,6 +4768,14 @@
 <dd>
 <div class="block">Copy-constructor</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Get.html#Get-byte:A-int-int-">Get(byte[], int, int)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></dt>
+<dd>
+<div class="block">Create a Get operation for the specified row.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Get.html#Get-java.nio.ByteBuffer-">Get(ByteBuffer)</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></dt>
+<dd>
+<div class="block">Create a Get operation for the specified row.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Put.html#get-byte:A-byte:A-">get(byte[], byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></dt>
 <dd>
 <div class="block">Returns a list of all KeyValue objects with matching column family and qualifier.</div>
@@ -5007,6 +5067,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getClusterStatus-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest-">getClusterStatus(RpcController, MasterProtos.GetClusterStatusRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html#getClusterStatus--">getClusterStatus()</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteAdmin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html#getClusterVersion--">getClusterVersion()</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteAdmin.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteAdmin</a></dt>
@@ -5074,6 +5136,8 @@
 <div class="block"><span class="deprecationComment">Use Region#getCellComparator().  deprecated for hbase 2.0, remove for hbase 3.0</span></div>
 </div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getCompletedSnapshots-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest-">getCompletedSnapshots(RpcController, MasterProtos.GetCompletedSnapshotsRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/RegionLoad.html#getCompleteSequenceId--">getCompleteSequenceId()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a></dt>
 <dd>
 <div class="block">This does not really belong inside RegionLoad but its being done in the name of expediency.</div>
@@ -5572,10 +5636,14 @@
  The timestamp of the oldest HFile resulting from a major compaction of that table,
  or 0 if no such HFile could be found.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest-">getLastMajorCompactionTimestamp(RpcController, MasterProtos.MajorCompactionTimestampRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Get the timestamp of the last major compaction for the passed region.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getLastMajorCompactionTimestampForRegion-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest-">getLastMajorCompactionTimestampForRegion(RpcController, MasterProtos.MajorCompactionTimestampForRegionRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/RegionLoad.html#getLastMajorCompactionTs--">getLastMajorCompactionTs()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getLastMajorCompactionTsForRegion-byte:A-">getLastMajorCompactionTsForRegion(byte[])</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
@@ -5837,6 +5905,12 @@
 <dd>
 <div class="block">Get a namespace descriptor by name</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getNamespaceDescriptor-java.lang.String-">getNamespaceDescriptor(String)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Get a namespace descriptor by name</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getNamespaceDescriptor-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest-">getNamespaceDescriptor(RpcController, MasterProtos.GetNamespaceDescriptorRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaFilter.html#getNamespaceFilter--">getNamespaceFilter()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#getNamespaces--">getNamespaces()</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a></dt>
@@ -6047,6 +6121,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#getPriority--">getPriority()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getProcedureResult-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest-">getProcedureResult(RpcController, MasterProtos.GetProcedureResultRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ProcedureInfo.html#getProcId--">getProcId()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ProcedureInfo.html#getProcName--">getProcName()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a></dt>
@@ -6260,6 +6336,8 @@
 <dd>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getReplicationPeerConfig-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest-">getReplicationPeerConfig(RpcController, ReplicationProtos.GetReplicationPeerConfigRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getRequestsCount--">getRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/RegionLoad.html#getRequestsCount--">getRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a></dt>
@@ -6364,8 +6442,16 @@
 <dd>
 <div class="block">Returns a Scan object from the stored string representation.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">getScanMetrics()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--">getScanMetrics()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Scan.html#getScanMetrics--">getScanMetrics()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> instead. And notice that, please do not
+             use this method and <a href="org/apache/hadoop/hbase/client/ResultScanner.html#getScanMetrics--"><code>ResultScanner.getScanMetrics()</code></a> together, the metrics
+             will be messed up.</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncTable.html#getScanner-byte:A-">getScanner(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a></dt>
 <dd>
 <div class="block">Gets a scanner on the current table for the given family.</div>
@@ -6405,6 +6491,8 @@
 <dd>
 <div class="block">Get the timeout of a single operation in a scan.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getSchemaAlterStatus-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest-">getSchemaAlterStatus(RpcController, MasterProtos.GetSchemaAlterStatusRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#getScope--">getScope()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/Pair.html#getSecond--">getSecond()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a></dt>
@@ -6423,6 +6511,8 @@
 <dd>
 <div class="block">Return the set of supported security capabilities.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getSecurityCapabilities-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesRequest-">getSecurityCapabilities(RpcController, MasterProtos.SecurityCapabilitiesRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HRegionLocation.html#getSeqNum--">getSeqNum()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/Cell.html#getSequenceId--">getSequenceId()</a></span> - Method in interface org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></dt>
@@ -6726,6 +6816,8 @@
 <dd>
 <div class="block">Get tableDescriptors</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getTableDescriptors-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest-">getTableDescriptors(RpcController, MasterProtos.GetTableDescriptorsRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableDescriptorsByTableName-java.util.List-">getTableDescriptorsByTableName(List&lt;TableName&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Get tableDescriptors</div>
@@ -6758,14 +6850,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/SnapshotDescription.html#getTableNameAsString--">getTableNameAsString()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getTableNames-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest-">getTableNames(RpcController, MasterProtos.GetTableNamesRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#getTableRegions-org.apache.hadoop.hbase.TableName-">getTableRegions(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Get the regions of a given table.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#getTables--">getTables()</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
 <dd>
-<div class="block">Set of tables that are members of this group</div>
+<div class="block">Get set of tables that are members of the group.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#getTableState-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableStateRequest-">getTableState(RpcController, MasterProtos.GetTableStateRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/CellUtil.html#getTag-org.apache.hadoop.hbase.Cell-byte-">getTag(Cell, byte)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/CellUtil.html" title="class in org.apache.hadoop.hbase">CellUtil</a></dt>
 <dd>
 <div class="block">Retrieve Cell's first tag, matching the passed in type</div>
@@ -7753,6 +7849,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/types/StructIterator.html#idx">idx</a></span> - Variable in class org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/StructIterator.html" title="class in org.apache.hadoop.hbase.types">StructIterator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#IGNORE_UNMATCHED_CF_CONF_KEY">IGNORE_UNMATCHED_CF_CONF_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce">LoadIncrementalHFiles</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io"><span class="typeNameLink">ImmutableBytesWritable</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">A byte sequence that is usable as a key or value.</div>
@@ -8202,6 +8300,8 @@
 <dd>
 <div class="block">Query the current state of the balancer.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isBalancerEnabled-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest-">isBalancerEnabled(RpcController, MasterProtos.IsBalancerEnabledRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClusterStatus.html#isBalancerOn--">isBalancerOn()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClusterStatus.html" title="class in org.apache.hadoop.hbase">ClusterStatus</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/OrderedBytes.html#isBlobCopy-org.apache.hadoop.hbase.util.PositionedByteRange-">isBlobCopy(PositionedByteRange)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/OrderedBytes.html" title="class in org.apache.hadoop.hbase.util">OrderedBytes</a></dt>
@@ -8228,6 +8328,8 @@
 <dd>
 <div class="block">Query on the catalog janitor state (Enabled/Disabled?)</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isCatalogJanitorEnabled-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledRequest-">isCatalogJanitorEnabled(RpcController, MasterProtos.IsCatalogJanitorEnabledRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Get.html#isCheckExistenceOnly--">isCheckExistenceOnly()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ChoreService.html#isChoreScheduled-org.apache.hadoop.hbase.ScheduledChore-">isChoreScheduled(ScheduledChore)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a></dt>
@@ -8236,6 +8338,8 @@
 <dd>
 <div class="block">Query on the cleaner chore state (Enabled/Disabled?)</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isCleanerChoreEnabled-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledRequest-">isCleanerChoreEnabled(RpcController, MasterProtos.IsCleanerChoreEnabledRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Connection.html#isClosed--">isClosed()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></dt>
 <dd>
 <div class="block">Returns whether the connection is closed or not.</div>
@@ -8393,6 +8497,10 @@
 <dd>
 <div class="block">Check whether Master is in maintenance mode</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isMasterInMaintenanceMode-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest-">isMasterInMaintenanceMode(RpcController, MasterProtos.IsInMaintenanceModeRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isMasterRunning-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsMasterRunningRequest-">isMasterRunning(RpcController, MasterProtos.IsMasterRunningRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#isMaxColumnInclusive--">isMaxColumnInclusive()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HRegionInfo.html#isMetaRegion--">isMetaRegion()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></dt>
@@ -8422,6 +8530,8 @@
 <dd>
 <div class="block">Query the current state of the region normalizer</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isNormalizerEnabled-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledRequest-">isNormalizerEnabled(RpcController, MasterProtos.IsNormalizerEnabledRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaFilter.html#isNull--">isNull()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaFilter.html" title="class in org.apache.hadoop.hbase.quotas">QuotaFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/OrderedBytes.html#isNull-org.apache.hadoop.hbase.util.PositionedByteRange-">isNull(PositionedByteRange)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/OrderedBytes.html" title="class in org.apache.hadoop.hbase.util">OrderedBytes</a></dt>
@@ -8551,6 +8661,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isPrefetchBlocksOnOpen--">isPrefetchBlocksOnOpen()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isProcedureDone-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest-">isProcedureDone(RpcController, MasterProtos.IsProcedureDoneRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#isProcedureFinished-java.lang.String-java.lang.String-java.util.Map-">isProcedureFinished(String, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Check the current state of the specified procedure.</div>
@@ -8652,6 +8764,8 @@
 <div class="block"><span class="deprecationComment">since 2.0.0. See the comment of <a href="org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-"><code>Scan.setSmall(boolean)</code></a></span></div>
 </div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isSnapshotDone-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest-">isSnapshotDone(RpcController, MasterProtos.IsSnapshotDoneRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#isSnapshotFinished-org.apache.hadoop.hbase.client.SnapshotDescription-">isSnapshotFinished(SnapshotDescription)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Check the current state of the passed snapshot.</div>
@@ -8664,6 +8778,8 @@
 <dd>
 <div class="block">Query the current state of the switch</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#isSplitOrMergeEnabled-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledRequest-">isSplitOrMergeEnabled(RpcController, MasterProtos.IsSplitOrMergeEnabledRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HRegionInfo.html#isSplitParent--">isSplitParent()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Result.html#isStale--">isStale()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></dt>
@@ -8912,6 +9028,8 @@
 <dd>
 <div class="block">List region servers marked as draining to not get additional regions assigned to them.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#listDrainingRegionServers-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDrainingRegionServersRequest-">listDrainingRegionServers(RpcController, MasterProtos.ListDrainingRegionServersRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#listener-org.apache.hadoop.hbase.client.BufferedMutator.ExceptionListener-">listener(BufferedMutator.ExceptionListener)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html" title="class in org.apache.hadoop.hbase.client">BufferedMutatorParams</a></dt>
 <dd>
 <div class="block">Override the default error handler.</div>
@@ -8920,6 +9038,12 @@
 <dd>
 <div class="block">List available namespace descriptors</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#listNamespaceDescriptors--">listNamespaceDescriptors()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">List available namespace descriptors</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#listNamespaceDescriptors-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest-">listNamespaceDescriptors(RpcController, MasterProtos.ListNamespaceDescriptorsRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listPeerConfigs--">listPeerConfigs()</a></span> - Method in class org.apache.hadoop.hbase.client.replication.<a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html" title="class in org.apache.hadoop.hbase.client.replication">ReplicationAdmin</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -8930,6 +9054,8 @@
 <dd>
 <div class="block">List procedures</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#listProcedures-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest-">listProcedures(RpcController, MasterProtos.ListProceduresRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listReplicated--">listReplicated()</a></span> - Method in class org.apache.hadoop.hbase.client.replication.<a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html" title="class in org.apache.hadoop.hbase.client.replication">ReplicationAdmin</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -8952,6 +9078,8 @@
 <dd>
 <div class="block">Return a list of replication peers.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#listReplicationPeers-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest-">listReplicationPeers(RpcController, ReplicationProtos.ListReplicationPeersRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#listSnapshots--">listSnapshots()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">List completed snapshots.</div>
@@ -8968,6 +9096,8 @@
 <dd>
 <div class="block">Get list of table descriptors by namespace</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#listTableDescriptorsByNamespace-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceRequest-">listTableDescriptorsByNamespace(RpcController, MasterProtos.ListTableDescriptorsByNamespaceRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames--">listTableNames()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">List all of the names of userspace tables.</div>
@@ -9004,6 +9134,8 @@
 <dd>
 <div class="block">Get list of table names by namespace</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#listTableNamesByNamespace-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceRequest-">listTableNamesByNamespace(RpcController, MasterProtos.ListTableNamesByNamespaceRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#listTables--">listTables()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">List all the userspace tables.</div>
@@ -9425,7 +9557,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Result.html#mayHaveMoreCellsInRow--">mayHaveMoreCellsInRow()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></dt>
 <dd>
-<div class="block">For scanning large rows, the RS may choose to return the cells chunk by chunk to prevent OOM.</div>
+<div class="block">For scanning large rows, the RS may choose to return the cells chunk by chunk to prevent OOM
+ or timeout.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HRegionInfo.html#MD5_HEX_LENGTH">MD5_HEX_LENGTH</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></dt>
 <dd>&nbsp;</dd>
@@ -9485,6 +9618,8 @@
 <dd>
 <div class="block">Merge regions.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#mergeTableRegions-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest-">mergeTableRegions(RpcController, MasterProtos.MergeTableRegionsRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#META_REPLICAS_NUM">META_REPLICAS_NUM</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#META_ROW_DELIMITER">META_ROW_DELIMITER</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
@@ -9635,6 +9770,8 @@
              Use <a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-"><code>Admin.modifyColumnFamily(TableName, HColumnDescriptor)</code></a>.</span></div>
 </div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#modifyColumn-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest-">modifyColumn(RpcController, MasterProtos.ModifyColumnRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyColumnFamily-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HColumnDescriptor-">modifyColumnFamily(TableName, HColumnDescriptor)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Modify an existing column family on a table.</div>
@@ -9657,6 +9794,12 @@
 <dd>
 <div class="block">Modify an existing namespace.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespace(NamespaceDescriptor)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
+<dd>
+<div class="block">Modify an existing namespace.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#modifyNamespace-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest-">modifyNamespace(RpcController, MasterProtos.ModifyNamespaceRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyNamespaceAsync-org.apache.hadoop.hbase.NamespaceDescriptor-">modifyNamespaceAsync(NamespaceDescriptor)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Modify an existing namespace</div>
@@ -9665,6 +9808,8 @@
 <dd>
 <div class="block">Modify an existing table, more IRB friendly version.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#modifyTable-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableRequest-">modifyTable(RpcController, MasterProtos.ModifyTableRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#modifyTableAsync-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HTableDescriptor-">modifyTableAsync(TableName, HTableDescriptor)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Modify an existing table, more IRB friendly version.</div>
@@ -9681,6 +9826,8 @@
 <dd>
 <div class="block">Copy the data to the output stream and update position in buffer.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#moveRegion-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest-">moveRegion(RpcController, MasterProtos.MoveRegionRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/MultiActionResultTooLarge.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">MultiActionResultTooLarge</span></a> - Exception in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>
 <div class="block">Exception thrown when the result needs to be chunked on the server side.</div>
@@ -9808,6 +9955,8 @@
 <dd>
 <div class="block">Namespace delimiter</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#NAMESPACE_DESC_PROP_GROUP">NAMESPACE_DESC_PROP_GROUP</a></span> - Static variable in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/NamespaceDescriptor.html#NAMESPACE_DESCRIPTOR_COMPARATOR">NAMESPACE_DESCRIPTOR_COMPARATOR</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#NAMESPACE_FAMILY_INFO">NAMESPACE_FAMILY_INFO</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
@@ -9822,8 +9971,6 @@
 <dd>
 <div class="block">Table descriptor for namespace table</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#NAMESPACEDESC_PROP_GROUP">NAMESPACEDESC_PROP_GROUP</a></span> - Static variable in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">NamespaceDescriptor</span></a> - Class in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>
 <div class="block">Namespace POJO class.</div>
@@ -9943,6 +10090,8 @@
 <dd>
 <div class="block">Invoke region normalizer.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#normalize-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeRequest-">normalize(RpcController, MasterProtos.NormalizeRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/client/NoServerForRegionException.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">NoServerForRegionException</span></a> - Exception in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>
 <div class="block">Thrown when no region server can be found for a region</div>
@@ -10035,6 +10184,8 @@
 <dd>
 <div class="block">Offline specified region from master's in-memory state.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#offlineRegion-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest-">offlineRegion(RpcController, MasterProtos.OfflineRegionRequest)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html" title="class in org.apache.hadoop.hbase.client">ShortCircuitMasterConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TableName.html#OLD_META_STR">OLD_META_STR</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TableName.html#OLD_META_TABLE_NAME">OLD_META_TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></dt>
@@ -10086,19 +10237,33 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/BufferedMutator.ExceptionListener.html#onException-org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException-org.apache.hadoop.hbase.client.BufferedMutator-">onException(RetriesExhaustedWithDetailsException, BufferedMutator)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/BufferedMutator.ExceptionListener.html" title="interface in org.apache.hadoop.hbase.client">BufferedMutator.ExceptionListener</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html#onHeartbeat--">onHeartbeat()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">RawScanResultConsumer</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html#onHeartbeat-org.apache.hadoop.hbase.client.RawScanResultConsumer.ScanController-">onHeartbeat(RawScanResultConsumer.ScanController)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">RawScanResultConsumer</a></dt>
 <dd>
 <div class="block">Indicate that there is an heartbeat message but we have not cumulated enough cells to call
  onNext.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result:A-">onNext(Result[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">RawScanResultConsumer</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result:A-org.apache.hadoop.hbase.client.RawScanResultConsumer.ScanController-">onNext(Result[], RawScanResultConsumer.ScanController)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">RawScanResultConsumer</a></dt>
+<dd>
+<div class="block">Indicate that we have receive some data.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ScanResultConsumer.html#onNext-org.apache.hadoop.hbase.client.Result-">onNext(Result)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">ScanResultConsumer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html#onRegionComplete-org.apache.hadoop.hbase.HRegionInfo-R-">onRegionComplete(HRegionInfo, R)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable.CoprocessorCallback</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html#onRegionError-org.apache.hadoop.hbase.HRegionInfo-java.lang.Throwable-">onRegionError(HRegionInfo, Throwable)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable.CoprocessorCallback</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html#onScanMetricsCreated-org.apache.hadoop.hbase.client.metrics.ScanMetrics-">onScanMetricsCreated(ScanMetrics)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">RawScanResultConsumer</a></dt>
+<dd>
+<div class="block">If <code>scan.isScanMetricsEnabled()</code> returns true, then this method will be called prior to
+ all other methods in this interface to give you the <code>ScanMetrics</code> instance for this scan
+ operation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ScanResultConsumer.html#onScanMetricsCreated-org.apache.hadoop.hbase.client.metrics.ScanMetrics-">onScanMetricsCreated(ScanMetrics)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ScanResultConsumer.html" title="interface in org.apache.hadoop.hbase.client">ScanResultConsumer</a></dt>
+<dd>
+<div class="block">If <code>scan.isScanMetricsEnabled()</code> returns true, then this method will be called prior to
+ all other methods in this interface to give you the <code>ScanMetrics</code> instance for this scan
+ operation.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaRetriever.html#open-org.apache.hadoop.conf.Configuration-">open(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaRetriever.html" title="class in org.apache.hadoop.hbase.quotas">QuotaRetriever</a></dt>
 <dd>
 <div class="block">Open a QuotaRetriever with no filter, all the quota settings will be returned.</div>
@@ -10657,7 +10822,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#peerAdded-java.lang.String-">peerAdded(String)</a></span> - Method in class org.apache.hadoop.hbase.client.replication.<a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html" title="class in org.apache.hadoop.hbase.client.replication">ReplicationAdmin</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
-&nbsp;</dd>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HBaseInterfaceAudience.html#PHOENIX">PHOENIX</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HBaseInterfaceAudience.html" title="class in org.apache.hadoop.hbase">HBaseInterfaceAudience</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/PleaseHoldException.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">PleaseHoldException</span></a> - Exception in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
@@ -11345,6 +11510,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <dd>
 <div class="block">Receives <a href="org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a> for an asynchronous scan.</div>
 </dd>
+<dt><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanController.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawScanResultConsumer.ScanController</span></a> - Interface in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
+<dd>
+<div class="block">Used to suspend or stop a scan.</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/client/RawScanResultConsumer.ScanResumer.html" title="interface in org.apache.hadoop.hbase.client"><span class="typeNameLink">RawScanResultConsumer.ScanResumer</span></a> - Interface in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
+<dd>
+<div class="block">Used to resume a scan.</div>
+</dd>
 <dt><a href="org/apache/hadoop/hbase/types/RawShort.html" title="class in org.apache.hadoop.hbase.types"><span class="typeNameLink">RawShort</span></a> - Class in <a href="org/apache/hadoop/hbase/types/package-summary.html">org.apache.hadoop.hbase.types</a></dt>
 <dd>
 <div class="block">An <code>DataType</code> for interacting with values encoded using
@@ -11773,6 +11946,8 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <dd>
 <div class="block">Remove drain from a region server to allow additional regions assignments.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.html#removeDrainFromRegionServers-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RemoveDrainFromRegionServ

<TRUNCATED>

[43/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/KeepDeletedCells.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/KeepDeletedCells.html b/apidocs/org/apache/hadoop/hbase/KeepDeletedCells.html
index c89bc9e..490b465 100644
--- a/apidocs/org/apache/hadoop/hbase/KeepDeletedCells.html
+++ b/apidocs/org/apache/hadoop/hbase/KeepDeletedCells.html
@@ -263,7 +263,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/KeepDeletedCells.html#line.50">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/KeepDeletedCells.html#line.4">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -283,7 +283,7 @@ for (KeepDeletedCells c : KeepDeletedCells.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/KeepDeletedCells.html#line.50">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/KeepDeletedCells.html#line.4">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/LocalHBaseCluster.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/LocalHBaseCluster.html b/apidocs/org/apache/hadoop/hbase/LocalHBaseCluster.html
index a949e6e..c8dbfda 100644
--- a/apidocs/org/apache/hadoop/hbase/LocalHBaseCluster.html
+++ b/apidocs/org/apache/hadoop/hbase/LocalHBaseCluster.html
@@ -356,7 +356,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOCAL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.70">LOCAL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.68">LOCAL</a></pre>
 <div class="block">local mode</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -370,7 +370,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LOCAL_COLON</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.72">LOCAL_COLON</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.70">LOCAL_COLON</a></pre>
 <div class="block">'local:'</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -392,7 +392,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LocalHBaseCluster</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.82">LocalHBaseCluster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.80">LocalHBaseCluster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -409,7 +409,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LocalHBaseCluster</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.94">LocalHBaseCluster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.92">LocalHBaseCluster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                          int&nbsp;noRegionServers)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Constructor.</div>
@@ -429,7 +429,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LocalHBaseCluster</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.108">LocalHBaseCluster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.106">LocalHBaseCluster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                          int&nbsp;noMasters,
                          int&nbsp;noRegionServers)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -451,7 +451,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LocalHBaseCluster</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.138">LocalHBaseCluster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.136">LocalHBaseCluster</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                          int&nbsp;noMasters,
                          int&nbsp;noRegionServers,
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hadoop.hbase.master.HMaster&gt;&nbsp;masterClass,
@@ -485,7 +485,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addRegionServer</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.168">addRegionServer</a>()
+<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.166">addRegionServer</a>()
                                                                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -499,7 +499,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addRegionServer</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.174">addRegionServer</a>(org.apache.hadoop.conf.Configuration&nbsp;config,
+<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.172">addRegionServer</a>(org.apache.hadoop.conf.Configuration&nbsp;config,
                                                                                       int&nbsp;index)
                                                                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -514,7 +514,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addRegionServer</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.194">addRegionServer</a>(org.apache.hadoop.conf.Configuration&nbsp;config,
+<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.192">addRegionServer</a>(org.apache.hadoop.conf.Configuration&nbsp;config,
                                                                                       int&nbsp;index,
                                                                                       <a href="../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                                                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
@@ -532,7 +532,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addMaster</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.206">addMaster</a>()
+<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.204">addMaster</a>()
                                                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -546,7 +546,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addMaster</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.210">addMaster</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
+<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.208">addMaster</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
                                                                           int&nbsp;index)
                                                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -561,7 +561,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addMaster</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.227">addMaster</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
+<pre>public&nbsp;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.225">addMaster</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
                                                                           int&nbsp;index,
                                                                           <a href="../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
@@ -579,7 +579,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServer</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.243">getRegionServer</a>(int&nbsp;serverNumber)</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.241">getRegionServer</a>(int&nbsp;serverNumber)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>serverNumber</code> - </dd>
@@ -594,7 +594,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.250">getRegionServers</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.248">getRegionServers</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Read-only list of region server threads.</dd>
@@ -607,7 +607,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getLiveRegionServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.259">getLiveRegionServers</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.257">getLiveRegionServers</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>List of running servers (Some servers may have been killed or
@@ -622,7 +622,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.273">getConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.270">getConfiguration</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Configuration used by this LocalHBaseCluster</dd>
@@ -635,7 +635,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnRegionServer</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.281">waitOnRegionServer</a>(int&nbsp;serverNumber)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.278">waitOnRegionServer</a>(int&nbsp;serverNumber)</pre>
 <div class="block">Wait for the specified region server to stop. Removes this thread from list of running threads.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -649,7 +649,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnRegionServer</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.290">waitOnRegionServer</a>(org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&nbsp;rst)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.287">waitOnRegionServer</a>(org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread&nbsp;rst)</pre>
 <div class="block">Wait for the specified region server to stop. Removes this thread from list of running threads.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -663,7 +663,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaster</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.master.HMaster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.306">getMaster</a>(int&nbsp;serverNumber)</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.master.HMaster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.303">getMaster</a>(int&nbsp;serverNumber)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the HMaster thread</dd>
@@ -676,7 +676,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getActiveMaster</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.master.HMaster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.315">getActiveMaster</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.master.HMaster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.312">getActiveMaster</a>()</pre>
 <div class="block">Gets the current active master, if available.  If no active master, returns
  null.</div>
 <dl>
@@ -691,7 +691,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasters</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.331">getMasters</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.328">getMasters</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Read-only list of master threads.</dd>
@@ -704,7 +704,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getLiveMasters</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.340">getLiveMasters</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.337">getLiveMasters</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>List of running master servers (Some servers may have been killed
@@ -719,7 +719,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnMaster</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.355">waitOnMaster</a>(int&nbsp;serverNumber)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.352">waitOnMaster</a>(int&nbsp;serverNumber)</pre>
 <div class="block">Wait for the specified master to stop. Removes this thread from list of running threads.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -733,7 +733,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnMaster</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.364">waitOnMaster</a>(org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&nbsp;masterThread)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.361">waitOnMaster</a>(org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread&nbsp;masterThread)</pre>
 <div class="block">Wait for the specified master to stop. Removes this thread from list of running threads.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -747,7 +747,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>join</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.381">join</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.378">join</a>()</pre>
 <div class="block">Wait for Mini HBase Cluster to shut down.
  Presumes you've already called <a href="../../../../org/apache/hadoop/hbase/LocalHBaseCluster.html#shutdown--"><code>shutdown()</code></a>.</div>
 </li>
@@ -758,7 +758,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>startup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.409">startup</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.406">startup</a>()
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Start the cluster.</div>
 <dl>
@@ -773,7 +773,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.416">shutdown</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.413">shutdown</a>()</pre>
 <div class="block">Shut down the mini HBase cluster</div>
 </li>
 </ul>
@@ -783,7 +783,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isLocal</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.424">isLocal</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.421">isLocal</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>c</code> - Configuration to check.</dd>
@@ -798,7 +798,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.434">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/LocalHBaseCluster.html#line.431">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Test things basically work.</div>
 <dl>


[52/52] hbase-site git commit: Empty commit

Posted by mi...@apache.org.
Empty commit


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

Branch: refs/heads/asf-site
Commit: fadf6d5a0b9a37f275bf7389708bd9b44a5f97bd
Parents: 22cff34
Author: Misty Stanley-Jones <mi...@apache.org>
Authored: Tue Mar 21 09:34:38 2017 -0700
Committer: Misty Stanley-Jones <mi...@apache.org>
Committed: Tue Mar 21 09:34:38 2017 -0700

----------------------------------------------------------------------

----------------------------------------------------------------------



[49/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index e946682..322bb10 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,24 +5,24 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
 /Producer (Apache HBase Team)
-/CreationDate (D:20170217144817+00'00')
-/ModDate (D:20170217144817+00'00')
+/CreationDate (D:20170321142325+00'00')
+/ModDate (D:20170321142325+00'00')
 >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 3 0 R
 /Names 25 0 R
-/Outlines 4044 0 R
-/PageLabels 4252 0 R
+/Outlines 4042 0 R
+/PageLabels 4250 0 R
 /PageMode /UseOutlines
 /ViewerPreferences [/FitWindow]
 >>
 endobj
 3 0 obj
 << /Type /Pages
-/Count 675
-/Kids [7 0 R 13 0 R 15 0 R 17 0 R 19 0 R 21 0 R 23 0 R 39 0 R 43 0 R 47 0 R 55 0 R 58 0 R 60 0 R 62 0 R 66 0 R 71 0 R 74 0 R 79 0 R 81 0 R 84 0 R 86 0 R 92 0 R 101 0 R 106 0 R 108 0 R 129 0 R 135 0 R 142 0 R 144 0 R 149 0 R 152 0 R 162 0 R 170 0 R 181 0 R 191 0 R 195 0 R 197 0 R 201 0 R 207 0 R 209 0 R 211 0 R 213 0 R 215 0 R 218 0 R 224 0 R 227 0 R 229 0 R 231 0 R 233 0 R 235 0 R 237 0 R 239 0 R 243 0 R 246 0 R 249 0 R 251 0 R 253 0 R 255 0 R 257 0 R 259 0 R 261 0 R 267 0 R 270 0 R 272 0 R 274 0 R 276 0 R 281 0 R 286 0 R 291 0 R 295 0 R 298 0 R 313 0 R 323 0 R 329 0 R 340 0 R 350 0 R 355 0 R 357 0 R 359 0 R 370 0 R 375 0 R 379 0 R 384 0 R 388 0 R 399 0 R 411 0 R 425 0 R 435 0 R 437 0 R 439 0 R 444 0 R 454 0 R 467 0 R 477 0 R 481 0 R 484 0 R 488 0 R 492 0 R 495 0 R 498 0 R 500 0 R 503 0 R 507 0 R 509 0 R 514 0 R 518 0 R 524 0 R 528 0 R 530 0 R 536 0 R 538 0 R 542 0 R 550 0 R 552 0 R 555 0 R 559 0 R 562 0 R 565 0 R 580 0 R 587 0 R 594 0 R 605 0 R 611 0 R 619 0 R 627 0 R 630 0 R 634 0
  R 637 0 R 648 0 R 656 0 R 662 0 R 668 0 R 672 0 R 674 0 R 688 0 R 700 0 R 706 0 R 712 0 R 715 0 R 724 0 R 732 0 R 736 0 R 741 0 R 747 0 R 749 0 R 751 0 R 753 0 R 761 0 R 770 0 R 774 0 R 782 0 R 790 0 R 796 0 R 800 0 R 806 0 R 810 0 R 816 0 R 824 0 R 826 0 R 830 0 R 835 0 R 842 0 R 845 0 R 852 0 R 861 0 R 865 0 R 867 0 R 870 0 R 874 0 R 879 0 R 882 0 R 894 0 R 898 0 R 903 0 R 911 0 R 916 0 R 920 0 R 925 0 R 927 0 R 930 0 R 932 0 R 936 0 R 938 0 R 941 0 R 945 0 R 949 0 R 954 0 R 959 0 R 962 0 R 964 0 R 971 0 R 975 0 R 980 0 R 993 0 R 997 0 R 1001 0 R 1006 0 R 1008 0 R 1017 0 R 1020 0 R 1025 0 R 1028 0 R 1037 0 R 1040 0 R 1046 0 R 1053 0 R 1056 0 R 1058 0 R 1067 0 R 1069 0 R 1071 0 R 1074 0 R 1076 0 R 1078 0 R 1080 0 R 1082 0 R 1084 0 R 1087 0 R 1090 0 R 1095 0 R 1098 0 R 1100 0 R 1102 0 R 1104 0 R 1109 0 R 1118 0 R 1121 0 R 1123 0 R 1125 0 R 1130 0 R 1132 0 R 1135 0 R 1137 0 R 1139 0 R 1141 0 R 1144 0 R 1149 0 R 1155 0 R 1162 0 R 1167 0 R 1181 0 R 1192 0 R 1196 0 R 1211 0 R 1220 0 R 
 1234 0 R 1238 0 R 1248 0 R 1261 0 R 1265 0 R 1277 0 R 1286 0 R 1293 0 R 1297 0 R 1306 0 R 1311 0 R 1315 0 R 1321 0 R 1327 0 R 1334 0 R 1342 0 R 1344 0 R 1356 0 R 1358 0 R 1363 0 R 1367 0 R 1372 0 R 1382 0 R 1388 0 R 1394 0 R 1396 0 R 1398 0 R 1410 0 R 1417 0 R 1427 0 R 1432 0 R 1445 0 R 1452 0 R 1455 0 R 1464 0 R 1473 0 R 1478 0 R 1484 0 R 1488 0 R 1491 0 R 1493 0 R 1500 0 R 1503 0 R 1510 0 R 1514 0 R 1517 0 R 1526 0 R 1530 0 R 1533 0 R 1535 0 R 1544 0 R 1551 0 R 1557 0 R 1562 0 R 1566 0 R 1569 0 R 1575 0 R 1580 0 R 1585 0 R 1587 0 R 1589 0 R 1592 0 R 1594 0 R 1602 0 R 1605 0 R 1611 0 R 1618 0 R 1622 0 R 1627 0 R 1632 0 R 1635 0 R 1637 0 R 1639 0 R 1641 0 R 1647 0 R 1657 0 R 1659 0 R 1661 0 R 1663 0 R 1665 0 R 1668 0 R 1670 0 R 1672 0 R 1674 0 R 1677 0 R 1679 0 R 1681 0 R 1683 0 R 1687 0 R 1691 0 R 1700 0 R 1702 0 R 1704 0 R 1706 0 R 1708 0 R 1715 0 R 1717 0 R 1722 0 R 1724 0 R 1726 0 R 1733 0 R 1738 0 R 1742 0 R 1746 0 R 1749 0 R 1752 0 R 1756 0 R 1758 0 R 1761 0 R 1763 0 R 1765 0 
 R 1767 0 R 1771 0 R 1773 0 R 1777 0 R 1779 0 R 1781 0 R 1783 0 R 1785 0 R 1793 0 R 1796 0 R 1801 0 R 1803 0 R 1805 0 R 1807 0 R 1809 0 R 1817 0 R 1827 0 R 1830 0 R 1846 0 R 1861 0 R 1865 0 R 1870 0 R 1875 0 R 1878 0 R 1883 0 R 1885 0 R 1890 0 R 1892 0 R 1895 0 R 1897 0 R 1899 0 R 1901 0 R 1903 0 R 1907 0 R 1909 0 R 1913 0 R 1917 0 R 1925 0 R 1931 0 R 1942 0 R 1956 0 R 1969 0 R 1987 0 R 1991 0 R 1993 0 R 1997 0 R 2014 0 R 2022 0 R 2029 0 R 2038 0 R 2042 0 R 2052 0 R 2063 0 R 2069 0 R 2078 0 R 2091 0 R 2108 0 R 2120 0 R 2123 0 R 2132 0 R 2147 0 R 2154 0 R 2157 0 R 2162 0 R 2167 0 R 2177 0 R 2185 0 R 2188 0 R 2190 0 R 2194 0 R 2209 0 R 2218 0 R 2223 0 R 2227 0 R 2230 0 R 2232 0 R 2234 0 R 2236 0 R 2238 0 R 2243 0 R 2245 0 R 2255 0 R 2265 0 R 2272 0 R 2284 0 R 2289 0 R 2293 0 R 2306 0 R 2313 0 R 2319 0 R 2321 0 R 2331 0 R 2338 0 R 2349 0 R 2353 0 R 2362 0 R 2368 0 R 2378 0 R 2387 0 R 2395 0 R 2401 0 R 2406 0 R 2410 0 R 2413 0 R 2415 0 R 2421 0 R 2425 0 R 2429 0 R 2435 0 R 2442 0 R 2447 
 0 R 2451 0 R 2460 0 R 2465 0 R 2470 0 R 2483 0 R 2490 0 R 2495 0 R 2500 0 R 2506 0 R 2510 0 R 2515 0 R 2523 0 R 2529 0 R 2531 0 R 2537 0 R 2542 0 R 2546 0 R 2555 0 R 2561 0 R 2570 0 R 2574 0 R 2583 0 R 2588 0 R 2591 0 R 2601 0 R 2606 0 R 2611 0 R 2613 0 R 2622 0 R 2626 0 R 2630 0 R 2632 0 R 2634 0 R 2644 0 R 2650 0 R 2657 0 R 2659 0 R 2665 0 R 2668 0 R 2671 0 R 2674 0 R 2682 0 R 2686 0 R 2691 0 R 2696 0 R 2698 0 R 2700 0 R 2703 0 R 2708 0 R 2717 0 R 2719 0 R 2722 0 R 2725 0 R 2727 0 R 2739 0 R 2744 0 R 2750 0 R 2756 0 R 2761 0 R 2766 0 R 2768 0 R 2775 0 R 2790 0 R 2804 0 R 2808 0 R 2823 0 R 2829 0 R 2832 0 R 2836 0 R 2838 0 R 2845 0 R 2863 0 R 2865 0 R 2872 0 R 2881 0 R 2885 0 R 2896 0 R 2907 0 R 2913 0 R 2919 0 R 2924 0 R 2929 0 R 2931 0 R 2936 0 R 2939 0 R 2945 0 R 2949 0 R 2961 0 R 2964 0 R 2970 0 R 2975 0 R 2984 0 R 2992 0 R 2999 0 R 3007 0 R 3012 0 R 3017 0 R 3024 0 R 3028 0 R 3030 0 R 3036 0 R 3044 0 R 3046 0 R 3048 0 R 3054 0 R 3056 0 R 3064 0 R 3070 0 R 3076 0 R 3082 0 R 309
 2 0 R 3099 0 R 3112 0 R 3115 0 R 3125 0 R 3141 0 R 3143 0 R 3145 0 R 3149 0 R 3166 0 R 3172 0 R 3176 0 R 3179 0 R 3184 0 R 3186 0 R 3190 0 R 3192 0 R 3197 0 R 3201 0 R 3205 0 R 3214 0 R 3216 0 R 3220 0 R 3222 0 R 3225 0 R 3232 0 R 3238 0 R 3242 0 R 3245 0 R 3247 0 R 3250 0 R 3253 0 R 3257 0 R 3264 0 R 3273 0 R 3277 0 R 3282 0 R 3290 0 R 3292 0 R 3301 0 R 3306 0 R 3310 0 R 3316 0 R 3321 0 R 3325 0 R 3330 0 R 3334 0 R 3345 0 R 3358 0 R 3376 0 R 3382 0 R 3385 0 R 3388 0 R 3393 0 R 3396 0 R 3401 0 R 3403 0 R 3405 0 R 3407 0 R 3409 0 R 3411 0 R 3413 0 R 3422 0 R 3426 0 R 3433 0 R 3436 0 R 3438 0 R 3445 0 R 3452 0 R 3457 0 R 3460 0 R 3462 0 R 3464 0 R 3466 0 R 3469 0 R 3476 0 R 3483 0 R 3492 0 R 3497 0 R 3500 0 R 3503 0 R 3507 0 R 3511 0 R 3515 0 R 3530 0 R 3535 0 R 3558 0 R 3563 0 R 3567 0 R 3575 0 R 3583 0 R 3592 0 R 3594 0 R 3597 0 R 3600 0 R 3616 0 R 3622 0 R 3630 0 R]
+/Count 676
+/Kids [7 0 R 13 0 R 15 0 R 17 0 R 19 0 R 21 0 R 23 0 R 39 0 R 43 0 R 47 0 R 55 0 R 58 0 R 60 0 R 62 0 R 66 0 R 71 0 R 74 0 R 79 0 R 81 0 R 84 0 R 86 0 R 92 0 R 101 0 R 106 0 R 108 0 R 129 0 R 135 0 R 142 0 R 144 0 R 149 0 R 152 0 R 162 0 R 170 0 R 181 0 R 191 0 R 195 0 R 197 0 R 201 0 R 207 0 R 209 0 R 211 0 R 213 0 R 215 0 R 218 0 R 224 0 R 227 0 R 229 0 R 231 0 R 233 0 R 235 0 R 237 0 R 239 0 R 242 0 R 245 0 R 249 0 R 251 0 R 253 0 R 255 0 R 257 0 R 259 0 R 261 0 R 264 0 R 270 0 R 272 0 R 274 0 R 276 0 R 281 0 R 285 0 R 288 0 R 293 0 R 297 0 R 300 0 R 315 0 R 325 0 R 331 0 R 342 0 R 352 0 R 357 0 R 359 0 R 361 0 R 372 0 R 377 0 R 381 0 R 386 0 R 390 0 R 401 0 R 413 0 R 427 0 R 437 0 R 439 0 R 441 0 R 446 0 R 456 0 R 469 0 R 479 0 R 483 0 R 486 0 R 490 0 R 494 0 R 497 0 R 500 0 R 502 0 R 505 0 R 509 0 R 511 0 R 516 0 R 521 0 R 525 0 R 531 0 R 533 0 R 539 0 R 541 0 R 545 0 R 553 0 R 555 0 R 558 0 R 562 0 R 565 0 R 568 0 R 583 0 R 590 0 R 597 0 R 608 0 R 614 0 R 622 0 R 631 0 R 634 0
  R 638 0 R 641 0 R 652 0 R 660 0 R 666 0 R 671 0 R 675 0 R 677 0 R 691 0 R 703 0 R 709 0 R 715 0 R 718 0 R 727 0 R 735 0 R 739 0 R 744 0 R 750 0 R 752 0 R 754 0 R 756 0 R 764 0 R 773 0 R 777 0 R 785 0 R 793 0 R 799 0 R 803 0 R 809 0 R 813 0 R 819 0 R 827 0 R 829 0 R 833 0 R 838 0 R 845 0 R 848 0 R 855 0 R 864 0 R 868 0 R 870 0 R 873 0 R 877 0 R 882 0 R 885 0 R 897 0 R 901 0 R 906 0 R 914 0 R 919 0 R 923 0 R 928 0 R 930 0 R 933 0 R 935 0 R 939 0 R 941 0 R 944 0 R 948 0 R 952 0 R 957 0 R 962 0 R 965 0 R 967 0 R 974 0 R 978 0 R 983 0 R 996 0 R 1000 0 R 1004 0 R 1009 0 R 1011 0 R 1020 0 R 1023 0 R 1028 0 R 1031 0 R 1040 0 R 1043 0 R 1049 0 R 1056 0 R 1059 0 R 1061 0 R 1070 0 R 1072 0 R 1074 0 R 1077 0 R 1079 0 R 1081 0 R 1083 0 R 1085 0 R 1087 0 R 1090 0 R 1093 0 R 1098 0 R 1101 0 R 1103 0 R 1105 0 R 1107 0 R 1112 0 R 1121 0 R 1124 0 R 1126 0 R 1128 0 R 1133 0 R 1135 0 R 1138 0 R 1140 0 R 1142 0 R 1144 0 R 1147 0 R 1152 0 R 1158 0 R 1165 0 R 1170 0 R 1184 0 R 1195 0 R 1199 0 R 1214 0 R 
 1223 0 R 1237 0 R 1241 0 R 1251 0 R 1265 0 R 1268 0 R 1280 0 R 1289 0 R 1296 0 R 1300 0 R 1309 0 R 1314 0 R 1318 0 R 1324 0 R 1330 0 R 1337 0 R 1345 0 R 1347 0 R 1359 0 R 1361 0 R 1366 0 R 1370 0 R 1375 0 R 1385 0 R 1391 0 R 1397 0 R 1399 0 R 1401 0 R 1413 0 R 1419 0 R 1428 0 R 1433 0 R 1446 0 R 1453 0 R 1457 0 R 1467 0 R 1476 0 R 1479 0 R 1485 0 R 1489 0 R 1492 0 R 1497 0 R 1501 0 R 1505 0 R 1511 0 R 1515 0 R 1520 0 R 1527 0 R 1531 0 R 1534 0 R 1536 0 R 1545 0 R 1552 0 R 1558 0 R 1563 0 R 1567 0 R 1570 0 R 1576 0 R 1581 0 R 1586 0 R 1588 0 R 1590 0 R 1593 0 R 1595 0 R 1603 0 R 1606 0 R 1612 0 R 1619 0 R 1623 0 R 1628 0 R 1633 0 R 1636 0 R 1638 0 R 1640 0 R 1642 0 R 1648 0 R 1658 0 R 1660 0 R 1662 0 R 1664 0 R 1666 0 R 1669 0 R 1671 0 R 1673 0 R 1675 0 R 1678 0 R 1680 0 R 1682 0 R 1684 0 R 1688 0 R 1692 0 R 1701 0 R 1703 0 R 1705 0 R 1707 0 R 1709 0 R 1716 0 R 1718 0 R 1723 0 R 1725 0 R 1727 0 R 1734 0 R 1739 0 R 1743 0 R 1747 0 R 1750 0 R 1753 0 R 1757 0 R 1759 0 R 1762 0 R 1764 0 
 R 1766 0 R 1768 0 R 1772 0 R 1774 0 R 1778 0 R 1780 0 R 1782 0 R 1784 0 R 1786 0 R 1794 0 R 1797 0 R 1802 0 R 1804 0 R 1806 0 R 1808 0 R 1810 0 R 1818 0 R 1828 0 R 1831 0 R 1845 0 R 1858 0 R 1862 0 R 1867 0 R 1872 0 R 1875 0 R 1880 0 R 1882 0 R 1887 0 R 1889 0 R 1892 0 R 1894 0 R 1896 0 R 1898 0 R 1900 0 R 1904 0 R 1906 0 R 1910 0 R 1914 0 R 1922 0 R 1928 0 R 1939 0 R 1953 0 R 1966 0 R 1984 0 R 1988 0 R 1990 0 R 1994 0 R 2011 0 R 2019 0 R 2026 0 R 2035 0 R 2039 0 R 2048 0 R 2060 0 R 2066 0 R 2075 0 R 2086 0 R 2105 0 R 2117 0 R 2120 0 R 2129 0 R 2144 0 R 2151 0 R 2154 0 R 2159 0 R 2164 0 R 2174 0 R 2182 0 R 2185 0 R 2187 0 R 2191 0 R 2206 0 R 2215 0 R 2220 0 R 2224 0 R 2227 0 R 2229 0 R 2231 0 R 2233 0 R 2235 0 R 2240 0 R 2242 0 R 2253 0 R 2263 0 R 2270 0 R 2282 0 R 2287 0 R 2291 0 R 2304 0 R 2311 0 R 2317 0 R 2319 0 R 2329 0 R 2336 0 R 2347 0 R 2351 0 R 2360 0 R 2366 0 R 2376 0 R 2385 0 R 2393 0 R 2399 0 R 2404 0 R 2408 0 R 2412 0 R 2414 0 R 2420 0 R 2424 0 R 2428 0 R 2434 0 R 2441 
 0 R 2446 0 R 2450 0 R 2459 0 R 2464 0 R 2469 0 R 2482 0 R 2489 0 R 2494 0 R 2499 0 R 2505 0 R 2509 0 R 2514 0 R 2522 0 R 2528 0 R 2530 0 R 2536 0 R 2541 0 R 2545 0 R 2554 0 R 2560 0 R 2569 0 R 2573 0 R 2582 0 R 2587 0 R 2590 0 R 2600 0 R 2605 0 R 2610 0 R 2612 0 R 2621 0 R 2625 0 R 2629 0 R 2631 0 R 2633 0 R 2642 0 R 2649 0 R 2656 0 R 2658 0 R 2664 0 R 2667 0 R 2670 0 R 2673 0 R 2681 0 R 2685 0 R 2690 0 R 2695 0 R 2697 0 R 2699 0 R 2702 0 R 2706 0 R 2715 0 R 2717 0 R 2720 0 R 2723 0 R 2725 0 R 2738 0 R 2743 0 R 2748 0 R 2755 0 R 2760 0 R 2765 0 R 2767 0 R 2774 0 R 2789 0 R 2804 0 R 2808 0 R 2822 0 R 2828 0 R 2831 0 R 2835 0 R 2837 0 R 2844 0 R 2862 0 R 2864 0 R 2871 0 R 2880 0 R 2884 0 R 2895 0 R 2906 0 R 2912 0 R 2918 0 R 2923 0 R 2928 0 R 2930 0 R 2935 0 R 2938 0 R 2944 0 R 2948 0 R 2960 0 R 2963 0 R 2969 0 R 2974 0 R 2983 0 R 2991 0 R 2998 0 R 3006 0 R 3011 0 R 3016 0 R 3023 0 R 3026 0 R 3029 0 R 3036 0 R 3043 0 R 3045 0 R 3047 0 R 3053 0 R 3055 0 R 3063 0 R 3069 0 R 3075 0 R 308
 1 0 R 3091 0 R 3098 0 R 3111 0 R 3114 0 R 3124 0 R 3140 0 R 3142 0 R 3144 0 R 3148 0 R 3165 0 R 3171 0 R 3175 0 R 3178 0 R 3183 0 R 3185 0 R 3189 0 R 3191 0 R 3196 0 R 3200 0 R 3204 0 R 3213 0 R 3215 0 R 3219 0 R 3221 0 R 3224 0 R 3231 0 R 3237 0 R 3241 0 R 3244 0 R 3246 0 R 3249 0 R 3252 0 R 3256 0 R 3263 0 R 3272 0 R 3276 0 R 3281 0 R 3289 0 R 3291 0 R 3300 0 R 3305 0 R 3309 0 R 3315 0 R 3320 0 R 3324 0 R 3329 0 R 3333 0 R 3344 0 R 3357 0 R 3375 0 R 3381 0 R 3384 0 R 3387 0 R 3392 0 R 3395 0 R 3400 0 R 3402 0 R 3404 0 R 3406 0 R 3408 0 R 3410 0 R 3412 0 R 3421 0 R 3425 0 R 3432 0 R 3435 0 R 3437 0 R 3444 0 R 3451 0 R 3456 0 R 3459 0 R 3461 0 R 3463 0 R 3465 0 R 3468 0 R 3475 0 R 3482 0 R 3491 0 R 3496 0 R 3499 0 R 3502 0 R 3506 0 R 3510 0 R 3514 0 R 3529 0 R 3534 0 R 3558 0 R 3562 0 R 3566 0 R 3574 0 R 3582 0 R 3591 0 R 3593 0 R 3596 0 R 3599 0 R 3615 0 R 3621 0 R 3628 0 R]
 >>
 endobj
 4 0 obj
@@ -180,22 +180,22 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAA+NotoSerif-Bold
 /Subtype /TrueType
-/FontDescriptor 4254 0 R
+/FontDescriptor 4252 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4256 0 R
-/ToUnicode 4255 0 R
+/Widths 4254 0 R
+/ToUnicode 4253 0 R
 >>
 endobj
 11 0 obj
 << /Type /Font
 /BaseFont /AAAAAB+NotoSerif
 /Subtype /TrueType
-/FontDescriptor 4258 0 R
+/FontDescriptor 4256 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4260 0 R
-/ToUnicode 4259 0 R
+/Widths 4258 0 R
+/ToUnicode 4257 0 R
 >>
 endobj
 12 0 obj
@@ -4745,7 +4745,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203632> Tj
+<2e203633> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -5117,7 +5117,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203635> Tj
+<2e203636> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -5517,7 +5517,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203733> Tj
+<2e203734> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -6021,7 +6021,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203733> Tj
+<2e203734> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -6325,7 +6325,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203734> Tj
+<2e203735> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -6773,7 +6773,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203739> Tj
+<2e203830> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -7201,7 +7201,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203837> Tj
+<2e203838> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -7621,7 +7621,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203839> Tj
+<2e203930> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -7917,7 +7917,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203930> Tj
+<2e203931> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -8309,7 +8309,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203931> Tj
+<2e203932> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -8557,7 +8557,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203933> Tj
+<2e203934> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -8913,7 +8913,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203935> Tj
+<2e203936> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -9377,7 +9377,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e203936> Tj
+<2e203937> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -9869,7 +9869,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313031> Tj
+<2e20313032> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -10301,7 +10301,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313033> Tj
+<2e20313034> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -10749,7 +10749,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313035> Tj
+<2e20313036> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -11209,7 +11209,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313036> Tj
+<2e20313037> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -11701,7 +11701,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313038> Tj
+<2e20313039> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -12197,7 +12197,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313039> Tj
+<2e20313130> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -12637,7 +12637,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313130> Tj
+<2e20313131> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -13133,7 +13133,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313131> Tj
+<2e20313132> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -13529,7 +13529,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313132> Tj
+<2e20313133> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -14005,7 +14005,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313134> Tj
+<2e20313135> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -14469,7 +14469,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313139> Tj
+<2e20313230> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -14893,7 +14893,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313230> Tj
+<2e20313231> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -15389,7 +15389,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313231> Tj
+<2e20313232> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -15881,7 +15881,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313232> Tj
+<2e20313233> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -16289,7 +16289,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313232> Tj
+<2e20313233> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -16717,7 +16717,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313233> Tj
+<2e20313234> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -17073,7 +17073,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313234> Tj
+<2e20313235> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -17429,7 +17429,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313234> Tj
+<2e20313235> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -17761,7 +17761,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313235> Tj
+<2e20313236> Tj
 ET
 
 Q
@@ -17779,7 +17779,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3632 0 R 3633 0 R 3634 0 R 3635 0 R 3636 0 R 3637 0 R 3638 0 R 3639 0 R 3640 0 R 3641 0 R 3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R 3647 0 R 3648 0 R 3649 0 R 3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3689 0 R 3690 0 R 3691 0 R 3692 0 R 3693 0 R 3694 0 R 3695 0 R 3696 0 R 3697 0 R 3698 0 R 3699 0 R 3700 0 R 3701 0 R 3702 0 R 3703 0 R 3704 0 R 3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R 3711 0 R 3712 0 R 3713 0 R 3714 0 R 3715 0 R]
+/Annots [3630 0 R 3631 0 R 3632 0 R 3633 0 R 3634 0 R 3635 0 R 3636 0 R 3637 0 R 3638 0 R 3639 0 R 3640 0 R 3641 0 R 3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R 3647 0 R 3648 0 R 3649 0 R 3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R 3683 0 R 3684 0 R 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3689 0 R 3690 0 R 3691 0 R 3692 0 R 3693 0 R 3694 0 R 3695 0 R 3696 0 R 3697 0 R 3698 0 R 3699 0 R 3700 0 R 3701 0 R 3702 0 R 3703 0 R 3704 0 R 3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R 3711 0 R 3712 0 R 3713 0 R]
 >>
 endobj
 14 0 obj
@@ -18230,7 +18230,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313236> Tj
+<2e20313237> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -18642,7 +18642,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313333> Tj
+<2e20313334> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -19050,7 +19050,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313334> Tj
+<2e20313335> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -19546,7 +19546,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313335> Tj
+<2e20313336> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -19966,7 +19966,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313336> Tj
+<2e20313337> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -20370,7 +20370,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313337> Tj
+<2e20313338> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -20642,7 +20642,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313431> Tj
+<2e20313432> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -21102,7 +21102,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313433> Tj
+<2e20313434> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -21470,7 +21470,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313434> Tj
+<2e20313435> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -21706,7 +21706,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313534> Tj
+<2e20313535> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -22154,7 +22154,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313537> Tj
+<2e20313538> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -22582,7 +22582,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313538> Tj
+<2e20313539> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -22886,7 +22886,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313539> Tj
+<2e20313630> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -23270,7 +23270,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313633> Tj
+<2e20313634> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -23614,7 +23614,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313634> Tj
+<2e20313635> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -23842,7 +23842,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313635> Tj
+<2e20313636> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -24130,7 +24130,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313636> Tj
+<2e20313637> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -24534,7 +24534,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313637> Tj
+<2e20313638> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -24954,7 +24954,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313638> Tj
+<2e20313639> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -25318,7 +25318,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313639> Tj
+<2e20313730> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -25566,7 +25566,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313737> Tj
+<2e20313738> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -25966,7 +25966,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313738> Tj
+<2e20313739> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -26434,7 +26434,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313739> Tj
+<2e20313830> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -26858,7 +26858,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313830> Tj
+<2e20313831> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -27146,7 +27146,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313831> Tj
+<2e20313832> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -27358,7 +27358,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313832> Tj
+<2e20313833> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -27674,7 +27674,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313834> Tj
+<2e20313835> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -27998,7 +27998,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313932> Tj
+<2e20313933> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -28302,7 +28302,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313936> Tj
+<2e20313937> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -28662,7 +28662,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20313938> Tj
+<2e20313939> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -29010,7 +29010,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323235> Tj
+<2e20323236> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -29494,7 +29494,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323239> Tj
+<2e20323330> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -29962,7 +29962,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323330> Tj
+<2e20323331> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -30406,7 +30406,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323332> Tj
+<2e20323333> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -30894,7 +30894,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323334> Tj
+<2e20323335> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -31298,7 +31298,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323337> Tj
+<2e20323338> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -31782,7 +31782,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323432> Tj
+<2e20323433> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -32230,7 +32230,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323434> Tj
+<2e20323435> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -32710,7 +32710,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323631> Tj
+<2e20323632> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -33158,7 +33158,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323839> Tj
+<2e20323930> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -33650,7 +33650,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323931> Tj
+<2e20323932> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -33946,7 +33946,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20323932> Tj
+<2e20323933> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -34266,7 +34266,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333035> Tj
+<2e20333036> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -34714,7 +34714,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333038> Tj
+<2e20333039> Tj
 ET
 
 Q
@@ -34731,7 +34731,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3716 0 R 3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3728 0 R 3729 0 R 3730 0 R 3731 0 R 3732 0 R 3733 0 R 3734 0 R 3735 0 R 3736 0 R 3737 0 R 3738 0 R 3739 0 R 3740 0 R 3741 0 R 3742 0 R 3743 0 R 3744 0 R 3745 0 R 3746 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3751 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R 3774 0 R 3775 0 R 3776 0 R 3777 0 R 3778 0 R 3779 0 R 3780 0 R 3781 0 R 3782 0 R 3783 0 R 3784 0 R 3785 0 R 3786 0 R 3787 0 R 3788 0 R 3789 0 R 3790 0 R 3791 0 R 3792 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R 3802 0 R 3803 0 R]
+/Annots [3714 0 R 3715 0 R 3716 0 R 3717 0 R 3718 0 R 3719 0 R 3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R 3726 0 R 3727 0 R 3728 0 R 3729 0 R 3730 0 R 3731 0 R 3732 0 R 3733 0 R 3734 0 R 3735 0 R 3736 0 R 3737 0 R 3738 0 R 3739 0 R 3740 0 R 3741 0 R 3742 0 R 3743 0 R 3744 0 R 3745 0 R 3746 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3751 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R 3770 0 R 3771 0 R 3772 0 R 3773 0 R 3774 0 R 3775 0 R 3776 0 R 3777 0 R 3778 0 R 3779 0 R 3780 0 R 3781 0 R 3782 0 R 3783 0 R 3784 0 R 3785 0 R 3786 0 R 3787 0 R 3788 0 R 3789 0 R 3790 0 R 3791 0 R 3792 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R]
 >>
 endobj
 16 0 obj
@@ -35210,7 +35210,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333039> Tj
+<2e20333130> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -35610,7 +35610,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333133> Tj
+<2e20333134> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -36102,7 +36102,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333134> Tj
+<2e20333135> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -36590,7 +36590,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333237> Tj
+<2e20333238> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -36966,7 +36966,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333238> Tj
+<2e20333239> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -37262,7 +37262,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333239> Tj
+<2e20333330> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -37754,7 +37754,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333334> Tj
+<2e20333335> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -38238,7 +38238,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333336> Tj
+<2e20333337> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -38626,7 +38626,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333339> Tj
+<2e20333430> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -39062,7 +39062,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333430> Tj
+<2e20333431> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -39522,7 +39522,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333435> Tj
+<2e20333436> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -39982,7 +39982,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333437> Tj
+<2e20333438> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -40414,7 +40414,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333531> Tj
+<2e20333532> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -40882,7 +40882,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333533> Tj
+<2e20333534> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -41282,7 +41282,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333538> Tj
+<2e20333539> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -41682,7 +41682,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333635> Tj
+<2e20333636> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -42082,7 +42082,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333636> Tj
+<2e20333637> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -42482,7 +42482,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333638> Tj
+<2e20333639> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -42886,7 +42886,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333730> Tj
+<2e20333731> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -43354,7 +43354,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333736> Tj
+<2e20333737> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -43658,7 +43658,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333833> Tj
+<2e20333834> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -44018,7 +44018,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333835> Tj
+<2e20333836> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -44378,7 +44378,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333836> Tj
+<2e20333837> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -44802,7 +44802,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333837> Tj
+<2e20333838> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -45274,7 +45274,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333838> Tj
+<2e20333839> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -45770,7 +45770,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333930> Tj
+<2e20333931> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -46174,7 +46174,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333931> Tj
+<2e20333932> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -46638,7 +46638,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333935> Tj
+<2e20333936> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -47078,7 +47078,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20333936> Tj
+<2e20333937> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -47470,7 +47470,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343030> Tj
+<2e20343031> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -47894,7 +47894,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343031> Tj
+<2e20343032> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -48298,7 +48298,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343034> Tj
+<2e20343035> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -48702,7 +48702,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343039> Tj
+<2e20343130> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -49186,7 +49186,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343130> Tj
+<2e20343131> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -49634,7 +49634,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343132> Tj
+<2e20343133> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -49962,7 +49962,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343133> Tj
+<2e20343134> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -50410,7 +50410,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343134> Tj
+<2e20343135> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -50706,7 +50706,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343134> Tj
+<2e20343135> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -51118,7 +51118,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343135> Tj
+<2e20343136> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -51606,7 +51606,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343136> Tj
+<2e20343137> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -52066,7 +52066,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343230> Tj
+<2e20343231> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -52554,7 +52554,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343231> Tj
+<2e20343232> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -53038,7 +53038,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343331> Tj
+<2e20343332> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -53490,7 +53490,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343336> Tj
+<2e20343337> Tj
 ET
 
 Q
@@ -53507,7 +53507,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R 3830 0 R 3831 0 R 3832 0 R 3833 0 R 3834 0 R 3835 0 R 3836 0 R 3837 0 R 3838 0 R 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R 3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3889 0 R 3890 0 R 3891 0 R]
+/Annots [3802 0 R 3803 0 R 3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R 3825 0 R 3826 0 R 3827 0 R 3828 0 R 3829 0 R 3830 0 R 3831 0 R 3832 0 R 3833 0 R 3834 0 R 3835 0 R 3836 0 R 3837 0 R 3838 0 R 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R 3879 0 R 3880 0 R 3881 0 R 3882 0 R 3883 0 R 3884 0 R 3885 0 R 3886 0 R 3887 0 R 3888 0 R 3889 0 R]
 >>
 endobj
 18 0 obj
@@ -53974,7 +53974,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343338> Tj
+<2e20343339> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -54442,7 +54442,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343431> Tj
+<2e20343432> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -54882,7 +54882,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343432> Tj
+<2e20343433> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -55358,7 +55358,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343437> Tj
+<2e20343438> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -55814,7 +55814,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343438> Tj
+<2e20343439> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -56262,7 +56262,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343439> Tj
+<2e20343530> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -56594,7 +56594,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343530> Tj
+<2e20343531> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -56890,7 +56890,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343531> Tj
+<2e20343532> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -57314,7 +57314,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343532> Tj
+<2e20343533> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -57650,7 +57650,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343535> Tj
+<2e20343536> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -58098,7 +58098,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343536> Tj
+<2e20343537> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -58486,7 +58486,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343537> Tj
+<2e20343538> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -58822,7 +58822,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343538> Tj
+<2e20343539> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -59282,7 +59282,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343539> Tj
+<2e20343630> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -59686,7 +59686,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343539> Tj
+<2e20343630> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -60150,7 +60150,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343630> Tj
+<2e20343631> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -60582,7 +60582,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343631> Tj
+<2e20343632> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -60934,7 +60934,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343632> Tj
+<2e20343633> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -61266,7 +61266,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343635> Tj
+<2e20343636> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -61646,7 +61646,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343636> Tj
+<2e20343637> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -62050,7 +62050,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343832> Tj
+<2e20343833> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -62462,7 +62462,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343833> Tj
+<2e20343834> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -62898,7 +62898,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343839> Tj
+<2e20343930> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -63314,7 +63314,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343934> Tj
+<2e20343935> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -63726,7 +63726,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20343938> Tj
+<2e20343939> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -63978,7 +63978,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353130> Tj
+<2e20353131> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -64414,7 +64414,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353135> Tj
+<2e20353136> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -64838,7 +64838,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353137> Tj
+<2e20353138> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -65078,7 +65078,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353232> Tj
+<2e20353233> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -65394,7 +65394,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353233> Tj
+<2e20353234> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -65830,7 +65830,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353238> Tj
+<2e20353239> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -66218,7 +66218,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353239> Tj
+<2e20353330> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -66558,7 +66558,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353331> Tj
+<2e20353332> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -66982,7 +66982,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353332> Tj
+<2e20353333> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -67350,7 +67350,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353334> Tj
+<2e20353335> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -67842,7 +67842,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353335> Tj
+<2e20353336> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -68230,7 +68230,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353338> Tj
+<2e20353339> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -68614,7 +68614,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353432> Tj
+<2e20353433> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -68970,7 +68970,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353530> Tj
+<2e20353531> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -69274,7 +69274,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353531> Tj
+<2e20353532> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -69653,7 +69653,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353532> Tj
+<2e20353533> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -70141,7 +70141,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353533> Tj
+<2e20353534> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -70541,7 +70541,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353637> Tj
+<2e20353638> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -70921,7 +70921,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353831> Tj
+<2e20353832> Tj
 ET
 
 Q
@@ -70938,7 +70938,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3892 0 R 3893 0 R 3894 0 R 3895 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R 3908 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3932 0 R 3933 0 R 3934 0 R 3935 0 R 3936 0 R 3937 0 R 3938 0 R 3939 0 R 3940 0 R 3941 0 R 3942 0 R 3943 0 R 3944 0 R 3945 0 R 3946 0 R 3947 0 R 3948 0 R 3949 0 R 3950 0 R 3951 0 R 3952 0 R 3953 0 R 3954 0 R 3955 0 R 3956 0 R 3957 0 R 3958 0 R 3959 0 R 3960 0 R 3961 0 R 3962 0 R 3963 0 R 3964 0 R 3965 0 R 3966 0 R 3967 0 R 3968 0 R 3969 0 R 3970 0 R 3971 0 R 3972 0 R 3973 0 R 3974 0 R 3975 0 R 3976 0 R 3977 0 R 3978 0 R 3979 0 R 3980 0 R 3981 0 R]
+/Annots [3890 0 R 3891 0 R 3892 0 R 3893 0 R 3894 0 R 3895 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R 3908 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3932 0 R 3933 0 R 3934 0 R 3935 0 R 3936 0 R 3937 0 R 3938 0 R 3939 0 R 3940 0 R 3941 0 R 3942 0 R 3943 0 R 3944 0 R 3945 0 R 3946 0 R 3947 0 R 3948 0 R 3949 0 R 3950 0 R 3951 0 R 3952 0 R 3953 0 R 3954 0 R 3955 0 R 3956 0 R 3957 0 R 3958 0 R 3959 0 R 3960 0 R 3961 0 R 3962 0 R 3963 0 R 3964 0 R 3965 0 R 3966 0 R 3967 0 R 3968 0 R 3969 0 R 3970 0 R 3971 0 R 3972 0 R 3973 0 R 3974 0 R 3975 0 R 3976 0 R 3977 0 R 3978 0 R 3979 0 R]
 >>
 endobj
 20 0 obj
@@ -71437,7 +71437,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353832> Tj
+<2e20353833> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -71909,7 +71909,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353834> Tj
+<2e20353835> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -72381,7 +72381,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353836> Tj
+<2e20353837> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -72641,7 +72641,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353838> Tj
+<2e20353839> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -73093,7 +73093,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353930> Tj
+<2e20353931> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -73561,7 +73561,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353931> Tj
+<2e20353932> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -74057,7 +74057,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353933> Tj
+<2e20353934> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -74377,7 +74377,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353936> Tj
+<2e20353937> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -74689,7 +74689,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20353937> Tj
+<2e20353938> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -75177,7 +75177,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363034> Tj
+<2e20363035> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -75641,7 +75641,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363035> Tj
+<2e20363036> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -76061,7 +76061,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363036> Tj
+<2e20363037> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -76445,7 +76445,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363037> Tj
+<2e20363038> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -76945,7 +76945,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363037> Tj
+<2e20363038> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -77245,7 +77245,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363038> Tj
+<2e20363039> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -77693,7 +77693,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363138> Tj
+<2e20363139> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -78089,7 +78089,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363231> Tj
+<2e20363232> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -78441,7 +78441,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363236> Tj
+<2e20363237> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -78649,7 +78649,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363333> Tj
+<2e20363334> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -79013,7 +79013,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363435> Tj
+<2e20363436> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -79397,7 +79397,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363436> Tj
+<2e20363437> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -79837,7 +79837,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363437> Tj
+<2e20363438> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -80237,7 +80237,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363438> Tj
+<2e20363439> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -80537,7 +80537,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363537> Tj
+<2e20363538> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -80933,7 +80933,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363539> Tj
+<2e20363630> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -81165,7 +81165,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363630> Tj
+<2e20363631> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -81529,7 +81529,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363631> Tj
+<2e20363632> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -81785,7 +81785,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363632> Tj
+<2e20363633> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -82189,7 +82189,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363634> Tj
+<2e20363635> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -82565,7 +82565,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363635> Tj
+<2e20363636> Tj
 ET
 
 0.259 0.545 0.792 scn
@@ -82913,7 +82913,7 @@ BT
 /F1.1 10.5 Tf
 <28> Tj
 /F1.0 10.5 Tf
-<2e20363636> Tj
+<2e20363637> Tj
 ET
 
 Q
@@ -82930,7 +82930,7 @@ endobj
 /F1.1 34 0 R
 >>
 >>
-/Annots [3982 0 R 3983 0 R 3984 0 R 3985 0 R 3986 0 R 3987 0 R 3988 0 R 3989 0 R 3990 0 R 3991 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 3996 0 R 3997 0 R 3998 0 R 3999 0 R 4000 0 R 4001 0 R 4002 0 R 4003 0 R 4004 0 R 4005 0 R 4006 0 R 4007 0 R 4008 0 R 4009 0 R 4010 0 R 4011 0 R 4012 0 R 4013 0 R 4014 0 R 4015 0 R 4016 0 R 4017 0 R 4018 0 R 4019 0 R 4020 0 R 4021 0 R 4022 0 R 4023 0 R 4024 0 R 4025 0 R 4026 0 R 4027 0 R 4028 0 R 4029 0 R 4030 0 R 4031 0 R 4032 0 R 4033 0 R 4034 0 R 4035 0 R 4036 0 R 4037 0 R 4038 0 R 4039 0 R 4040 0 R 4041 0 R 4042 0 R 4043 0 R]
+/Annots [3980 0 R 3981 0 R 3982 0 R 3983 0 R 3984 0 R 3985 0 R 3986 0 R 3987 0 R 3988 0 R 3989 0 R 3990 0 R 3991 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 3996 0 R 3997 0 R 3998 0 R 3999 0 R 4000 0 R 4001 0 R 4002 0 R 4003 0 R 4004 0 R 4005 0 R 4006 0 R 4007 0 R 4008 0 R 4009 0 R 4010 0 R 4011 0 R 4012 0 R 4013 0 R 4014 0 R 4015 0 R 4016 0 R 4017 0 R 4018 0 R 4019 0 R 4020 0 R 4021 0 R 4022 0 R 4023 0 R 4024 0 R 4025 0 R 4026 0 R 4027 0 R 4028 0 R 4029 0 R 4030 0 R 4031 0 R 4032 0 R 4033 0 R 4034 0 R 4035 0 R 4036 0 R 4037 0 R 4038 0 R 4039 0 R 4040 0 R 4041 0 R]
 >>
 endobj
 22 0 obj
@@ -83712,7 +83712,7 @@ endobj
 >>
 endobj
 26 0 obj
-<< /Kids [1199 0 R 2493 0 R 3161 0 R 1200 0 R 2085 0 R]
+<< /Kids [1202 0 R 2492 0 R 3160 0 R 1203 0 R 2091 0 R]
 >>
 endobj
 27 0 obj
@@ -83763,11 +83763,11 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAC+mplus1mn-regular
 /Subtype /TrueType
-/FontDescriptor 4262 0 R
+/FontDescriptor 4260 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4264 0 R
-/ToUnicode 4263 0 R
+/Widths 4262 0 R
+/ToUnicode 4261 0 R
 >>
 endobj
 32 0 obj
@@ -83793,11 +83793,11 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAD+NotoSerif
 /Subtype /TrueType
-/FontDescriptor 4266 0 R
+/FontDescriptor 4264 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4268 0 R
-/ToUnicode 4267 0 R
+/Widths 4266 0 R
+/ToUnicode 4265 0 R
 >>
 endobj
 35 0 obj
@@ -84214,11 +84214,11 @@ endobj
 << /Type /Font
 /BaseFont /AAAAAE+NotoSerif-Italic
 /Subtype /TrueType
-/FontDescriptor 4270 0 R
+/FontDescriptor 4268 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4272 0 R
-/ToUnicode 4271 0 R
+/Widths 4270 0 R
+/ToUnicode 4269 0 R
 >>
 endobj
 41 0 obj
@@ -114091,12 +114091,12 @@ endobj
 endobj
 172 0 obj
 << /Limits [(acid) (api-before-hbase-1-0-0)]
-/Names [(acid) 638 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3097 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3100 0 R (add.metrics) 3095 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3331 0 R (adding.new.node) 2609 0 R (administration) 1072 0 R (administration-2) 1096 0 R (administration-3) 1126 0 R (amazon-ec2) 3367 0 R (api-as-of-hbase-1-0-0) 1175 0 R (api-before-hbase-1-0-0) 1177 0 R]
+/Names [(acid) 642 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3096 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3099 0 R (add.metrics) 3094 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3330 0 R (adding.new.node) 2608 0 R (administration) 1075 0 R (administration-2) 1099 0 R (administration-3) 1129 0 R (amazon-ec2) 3366 0 R (api-as-of-hbase-1-0-0) 1178 0 R (api-before-hbase-1-0-0) 1180 0 R]
 >>
 endobj
 173 0 obj
 << /Limits [(hadoop.security) (hbase.client.api.surface)]
-/Names [(hadoop.security) 157 0 R (hadoop2.hbase_0.94) 147 0 R (handling-of-errors-during-log-splitting) 1345 0 R (hardware) 2455 0 R (hbase-and-hdfs) 2407 0 R (hbase-as-a-mapreduce-job-data-source-and-data-sink) 883 0 R (hbase-hot-spot-region) 2457 0 R (hbase-in-action) 3373 0 R (hbase-managed-zookeeper-configuration) 3239 0 R (hbase-reference-guide-style-guide-and-cheat-sheet) 3297 0 R (hbase-region-with-non-local-data) 2458 0 R (hbase.accesscontrol.configuration) 1050 0 R (hbase.archetypes.development) 3163 0 R (hbase.client.api.surface) 380 0 R]
+/Names [(hadoop.security) 157 0 R (hadoop2.hbase_0.94) 147 0 R (handling-of-errors-during-log-splitting) 1348 0 R (hardware) 2454 0 R (hbase-and-hdfs) 2405 0 R (hbase-as-a-mapreduce-job-data-source-and-data-sink) 886 0 R (hbase-hot-spot-region) 2456 0 R (hbase-in-action) 3372 0 R (hbase-managed-zookeeper-configuration) 3238 0 R (hbase-reference-guide-style-guide-and-cheat-sheet) 3296 0 R (hbase-region-with-non-local-data) 2457 0 R (hbase.accesscontrol.configuration) 1053 0 R (hbase.archetypes.development) 3162 0 R (hbase.client.api.surface) 382 0 R]
 >>
 endobj
 174 0 obj
@@ -124604,7 +124604,7 @@ endobj
 >>
 endobj
 236 0 obj
-<< /Length 9445
+<< /Length 10175
 >>
 stream
 q
@@ -124798,7 +124798,7 @@ ET
 BT
 48.24000000000001 464.9500000000001 Td
 /F3.0 10.5 Tf
-<68626173652e6873746f72652e636f6d70616374696f6e2e6b762e6d6178> Tj
+<68626173652e726567696f6e7365727665722e6d616a6f72636f6d70616374696f6e2e7061676563616368652e64726f70> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -124806,12 +124806,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-4.178 Tw
+1.809 Tw
 
 BT
 63.24000000000001 446.7660000000001 Td
 /F1.0 10.5 Tf
-[<546865206d6178696d756d206e756d626572206f66204b> 20.01953125 <657956> 60.05859375 <616c75657320746f207265616420616e64207468656e20777269746520696e2061206261746368207768656e20666c757368696e67206f72>] TJ
+[<537065636966696573207768657468657220746f2064726f7020706167657320726561642f7772697474656e20696e746f207468652073797374656d20706167652063616368652062> 20.01953125 <79206d616a6f7220636f6d70616374696f6e732e>] TJ
 ET
 
 
@@ -124821,12 +124821,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.266 Tw
+1.021 Tw
 
 BT
 63.24000000000001 430.9860000000001 Td
 /F1.0 10.5 Tf
-[<636f6d70616374696e672e205365742074686973206c6f77657220696620796f75206861766520626967204b> 20.01953125 <657956> 60.05859375 <616c75657320616e642070726f626c656d732077697468204f7574204f66204d656d6f727920457863657074696f6e73>] TJ
+<53657474696e6720697420746f20747275652068656c70732070726576656e74206d616a6f7220636f6d70616374696f6e732066726f6d20706f6c6c7574696e672074686520706167652063616368652c20776869636820697320616c6d6f7374> Tj
 ET
 
 
@@ -124839,7 +124839,7 @@ ET
 BT
 63.24000000000001 415.2060000000001 Td
 /F1.0 10.5 Tf
-<53657420746869732068696768657220696620796f75206861766520776964652c20736d616c6c20726f77732e> Tj
+[<616c7761> 20.01953125 <79732072657175697265642c20657370656369616c6c7920666f7220636c7573746572732077697468206c6f772f6d6f646572> 20.01953125 <617465206d656d6f727920746f2073746f72> 20.01953125 <6167652072> 20.01953125 <6174696f2e>] TJ
 ET
 
 0.000 0.000 0.000 SCN
@@ -124850,7 +124850,7 @@ ET
 BT
 63.24000000000001 389.6100000000001 Td
 /F3.0 10.5 Tf
-<3130> Tj
+<74727565> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -124861,7 +124861,7 @@ ET
 BT
 48.24000000000001 365.6100000000001 Td
 /F3.0 10.5 Tf
-<68626173652e73746f72657363616e6e65722e706172616c6c656c2e7365656b2e656e61626c65> Tj
+<68626173652e726567696f6e7365727665722e6d696e6f72636f6d70616374696f6e2e7061676563616368652e64726f70> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -124869,12 +124869,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.936 Tw
+1.726 Tw
 
 BT
 63.24000000000001 347.4260000000001 Td
 /F1.0 10.5 Tf
-[<456e61626c65732053746f726546696c655363616e6e657220706172> 20.01953125 <616c6c656c2d7365656b696e6720696e2053746f72655363616e6e65722c206120666561747572652077686963682063616e2072656475636520726573706f6e7365>] TJ
+[<537065636966696573207768657468657220746f2064726f7020706167657320726561642f7772697474656e20696e746f207468652073797374656d20706167652063616368652062> 20.01953125 <79206d696e6f7220636f6d70616374696f6e732e>] TJ
 ET
 
 
@@ -124884,43 +124884,55 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
+1.559 Tw
+
 BT
 63.24000000000001 331.6460000000001 Td
 /F1.0 10.5 Tf
-<6c6174656e637920756e646572207370656369616c20636f6e646974696f6e732e> Tj
+<53657474696e6720697420746f20747275652068656c70732070726576656e74206d696e6f7220636f6d70616374696f6e732066726f6d20706f6c6c7574696e672074686520706167652063616368652c207768696368206973206d6f7374> Tj
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.336 Tw
 
 BT
-63.24000000000001 306.0500000000001 Td
-/F3.0 10.5 Tf
-<66616c7365> Tj
+63.24000000000001 315.8660000000001 Td
+/F1.0 10.5 Tf
+[<62656e6566696369616c206f6e20636c7573746572732077697468206c6f77206d656d6f727920746f2073746f72> 20.01953125 <6167652072> 20.01953125 <6174696f206f72207665727920777269746520686561767920636c7573746572732e2059> 69.82421875 <6f75206d61> 20.01953125 <792077616e74>] TJ
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-0.694 0.129 0.275 scn
-0.694 0.129 0.275 SCN
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.584 Tw
 
 BT
-48.24000000000001 282.05000000000007 Td
-/F3.0 10.5 Tf
-<68626173652e73746f72657363616e6e65722e706172616c6c656c2e7365656b2e74687265616473> Tj
+63.24000000000001 300.0860000000001 Td
+/F1.0 10.5 Tf
+[<746f2073657420697420746f2066616c736520756e646572206d6f646572> 20.01953125 <61746520746f206c6f7720777269746520776f726b6c6f6164207768656e2062756c6b206f662074686520726561647320617265206f6e20746865206d6f7374>] TJ
 ET
 
+
+0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 263.8660000000001 Td
+63.24000000000001 284.3060000000001 Td
 /F1.0 10.5 Tf
-[<5468652064656661756c742074687265616420706f6f6c2073697a6520696620706172> 20.01953125 <616c6c656c2d7365656b696e67206665617475726520656e61626c65642e>] TJ
+<726563656e746c79207772697474656e20646174612e> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -124929,9 +124941,9 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 238.27000000000007 Td
+63.24000000000001 258.71000000000015 Td
 /F3.0 10.5 Tf
-<3130> Tj
+<74727565> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -124940,9 +124952,9 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 214.27000000000007 Td
+48.24000000000001 234.71000000000012 Td
 /F3.0 10.5 Tf
-<6866696c652e626c6f636b2e63616368652e73697a65> Tj
+<68626173652e6873746f72652e636f6d70616374696f6e2e6b762e6d6178> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -124950,12 +124962,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-0.807 Tw
+4.178 Tw
 
 BT
-63.24000000000001 196.08600000000007 Td
+63.24000000000001 216.52600000000012 Td
 /F1.0 10.5 Tf
-[<50657263656e74616765206f66206d6178696d756d206865617020282d586d782073657474696e672920746f20616c6c6f6361746520746f20626c6f636b20636163686520757365642062> 20.01953125 <7920612053746f726546696c652e2044656661756c74>] TJ
+[<546865206d6178696d756d206e756d626572206f66204b> 20.01953125 <657956> 60.05859375 <616c75657320746f207265616420616e64207468656e20777269746520696e2061206261746368207768656e20666c757368696e67206f72>] TJ
 ET
 
 
@@ -124965,12 +124977,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.089 Tw
+0.266 Tw
 
 BT
-63.24000000000001 180.30600000000007 Td
+63.24000000000001 200.74600000000012 Td
 /F1.0 10.5 Tf
-[<6f6620302e34206d65616e7320616c6c6f63617465203430252e2053657420746f203020746f2064697361626c6520627574206974d5> 49.8046875 <73206e6f74207265636f6d6d656e6465643b20796f75206e656564206174206c6561737420656e6f756768>] TJ
+[<636f6d70616374696e672e205365742074686973206c6f77657220696620796f75206861766520626967204b> 20.01953125 <657956> 60.05859375 <616c75657320616e642070726f626c656d732077697468204f7574204f66204d656d6f727920457863657074696f6e73>] TJ
 ET
 
 
@@ -124981,9 +124993,9 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 164.52600000000007 Td
+63.24000000000001 184.96600000000012 Td
 /F1.0 10.5 Tf
-<636163686520746f20686f6c64207468652073746f726566696c6520696e64696365732e> Tj
+<53657420746869732068696768657220696620796f75206861766520776964652c20736d616c6c20726f77732e> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -124992,9 +125004,9 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 138.93000000000006 Td
+63.24000000000001 159.37000000000012 Td
 /F3.0 10.5 Tf
-<302e34> Tj
+<3130> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -125003,9 +125015,9 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 114.93000000000006 Td
+48.24000000000001 135.37000000000012 Td
 /F3.0 10.5 Tf
-<6866696c652e626c6f636b2e696e6465782e63616368656f6e7772697465> Tj
+<68626173652e73746f72657363616e6e65722e706172616c6c656c2e7365656b2e656e61626c65> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -125013,12 +125025,12 @@ ET
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
-1.464 Tw
+1.936 Tw
 
 BT
-63.24000000000001 96.74600000000007 Td
+63.24000000000001 117.18600000000012 Td
 /F1.0 10.5 Tf
-<5468697320616c6c6f777320746f20707574206e6f6e2d726f6f74206d756c74692d6c6576656c20696e64657820626c6f636b7320696e746f2074686520626c6f636b206361636865206174207468652074696d652074686520696e646578206973> Tj
+[<456e61626c65732053746f726546696c655363616e6e657220706172> 20.01953125 <616c6c656c2d7365656b696e6720696e2053746f72655363616e6e65722c206120666561747572652077686963682063616e2072656475636520726573706f6e7365>] TJ
 ET
 
 
@@ -125029,9 +125041,9 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 80.96600000000007 Td
+63.24000000000001 101.40600000000012 Td
 /F1.0 10.5 Tf
-<6265696e67207772697474656e2e> Tj
+<6c6174656e637920756e646572207370656369616c20636f6e646974696f6e732e> Tj
 ET
 
 0.000 0.000 0.000 SCN
@@ -125040,7 +125052,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 55.37000000000006 Td
+63.24000000000001 75.81000000000012 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -125090,7 +125102,7 @@ endobj
 >>
 endobj
 238 0 obj
-<< /Length 10829
+<< /Length 10408
 >>
 stream
 q
@@ -125106,6 +125118,150 @@ f
 BT
 48.24000000000001 746.22 Td
 /F3.0 10.5 Tf
+<68626173652e73746f72657363616e6e65722e706172616c6c656c2e7365656b2e74687265616473> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 728.036 Td
+/F1.0 10.5 Tf
+[<5468652064656661756c742074687265616420706f6f6c2073697a6520696620706172> 20.01953125 <616c6c656c2d7365656b696e67206665617475726520656e61626c65642e>] TJ
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+63.24000000000001 702.44 Td
+/F3.0 10.5 Tf
+<3130> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+48.24000000000001 678.44 Td
+/F3.0 10.5 Tf
+<6866696c652e626c6f636b2e63616368652e73697a65> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+0.807 Tw
+
+BT
+63.24000000000001 660.256 Td
+/F1.0 10.5 Tf
+[<50657263656e74616765206f66206d6178696d756d206865617020282d586d782073657474696e672920746f20616c6c6f6361746520746f20626c6f636b20636163686520757365642062> 20.01953125 <7920612053746f726546696c652e2044656661756c74>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.089 Tw
+
+BT
+63.24000000000001 644.476 Td
+/F1.0 10.5 Tf
+[<6f6620302e34206d65616e7320616c6c6f63617465203430252e2053657420746f203020746f2064697361626c6520627574206974d5> 49.8046875 <73206e6f74207265636f6d6d656e6465643b20796f75206e656564206174206c6561737420656e6f756768>] TJ
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 628.696 Td
+/F1.0 10.5 Tf
+<636163686520746f20686f6c64207468652073746f726566696c6520696e64696365732e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+63.24000000000001 603.1 Td
+/F3.0 10.5 Tf
+<302e34> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+48.24000000000001 579.1 Td
+/F3.0 10.5 Tf
+<6866696c652e626c6f636b2e696e6465782e63616368656f6e7772697465> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+1.464 Tw
+
+BT
+63.24000000000001 560.9159999999999 Td
+/F1.0 10.5 Tf
+<5468697320616c6c6f777320746f20707574206e6f6e2d726f6f74206d756c74692d6c6576656c20696e64657820626c6f636b7320696e746f2074686520626c6f636b206361636865206174207468652074696d652074686520696e646578206973> Tj
+ET
+
+
+0.000 Tw
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 545.136 Td
+/F1.0 10.5 Tf
+<6265696e67207772697474656e2e> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+63.24000000000001 519.5400000000001 Td
+/F3.0 10.5 Tf
+<66616c7365> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+0.694 0.129 0.275 scn
+0.694 0.129 0.275 SCN
+
+BT
+48.24000000000001 495.5400000000001 Td
+/F3.0 10.5 Tf
 <6866696c652e696e6465782e626c6f636b2e6d61782e73697a65> Tj
 ET
 
@@ -125117,7 +125273,7 @@ ET
 1.959 Tw
 
 BT
-63.24000000000001 728.036 Td
+63.24000000000001 477.35600000000005 Td
 /F1.0 10.5 Tf
 <5768656e207468652073697a65206f662061206c6561662d6c6576656c2c20696e7465726d6564696174652d6c6576656c2c206f7220726f6f742d6c6576656c20696e64657820626c6f636b20696e2061206d756c74692d6c6576656c20626c6f636b> Tj
 ET
@@ -125130,7 +125286,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 712.256 Td
+63.24000000000001 461.576 Td
 /F1.0 10.5 Tf
 <696e6465782067726f777320746f20746869732073697a652c2074686520626c6f636b206973207772697474656e206f757420616e642061206e657720626c6f636b20697320737461727465642e> Tj
 ET
@@ -125141,7 +125297,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 686.6600000000001 Td
+63.24000000000001 435.9800000000001 Td
 /F3.0 10.5 Tf
 <313331303732> Tj
 ET
@@ -125152,7 +125308,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 662.6600000000001 Td
+48.24000000000001 411.9800000000001 Td
 /F3.0 10.5 Tf
 <68626173652e6275636b657463616368652e696f656e67696e65> Tj
 ET
@@ -125165,7 +125321,7 @@ ET
 1.941 Tw
 
 BT
-63.24000000000001 644.476 Td
+63.24000000000001 393.79600000000005 Td
 /F1.0 10.5 Tf
 [<576865726520746f2073746f72652074686520636f6e74656e7473206f6620746865206275636b> 20.01953125 <657463616368652e204f6e65206f663a20686561702c206f6666686561702c206f722066696c652e20496620612066696c652c2073657420697420746f>] TJ
 ET
@@ -125180,7 +125336,7 @@ ET
 15.728 Tw
 
 BT
-63.24000000000001 628.696 Td
+63.24000000000001 378.0160000000001 Td
 /F1.0 10.5 Tf
 [<66696c653a50> 49.8046875 <41> 60.05859375 <54485f54> 20.01953125 <4f5f46494c452e2053656520>] TJ
 ET
@@ -125195,7 +125351,7 @@ ET
 15.728 Tw
 
 BT
-212.87396777343747 628.696 Td
+212.87396777343747 378.0160000000001 Td
 /F1.0 10.5 Tf
 [<687474703a2f2f68626173652e6170616368652e6f72672f626f6f6b2e68746d6c236f6666686561702e626c6f636b> 20.01953125 <6361636865>] TJ
 ET
@@ -125210,7 +125366,7 @@ ET
 15.728 Tw
 
 BT
-485.4537626953125 628.696 Td
+485.4537626953125 378.0160000000001 Td
 /F1.0 10.5 Tf
 <20666f72206d6f7265> Tj
 ET
@@ -125223,7 +125379,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 612.916 Td
+63.24000000000001 362.23600000000005 Td
 /F1.0 10.5 Tf
 <696e666f726d6174696f6e2e> Tj
 ET
@@ -125234,7 +125390,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 585.136 Td
+63.24000000000001 334.4560000000001 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -125245,7 +125401,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 559.5400000000001 Td
+48.24000000000001 308.8600000000001 Td
 /F3.0 10.5 Tf
 <68626173652e6275636b657463616368652e636f6d62696e656463616368652e656e61626c6564> Tj
 ET
@@ -125258,7 +125414,7 @@ ET
 0.713 Tw
 
 BT
-63.24000000000001 541.356 Td
+63.24000000000001 290.6760000000001 Td
 /F1.0 10.5 Tf
 [<57686574686572206f72206e6f7420746865206275636b> 20.01953125 <65746361636865206973207573656420696e206c6561677565207769746820746865204c52> 9.765625 <55206f6e2d6865617020626c6f636b2063616368652e20496e2074686973206d6f64652c>] TJ
 ET
@@ -125271,7 +125427,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 525.576 Td
+63.24000000000001 274.8960000000001 Td
 /F1.0 10.5 Tf
 [<696e646963657320616e6420626c6f6f6d7320617265206b> 20.01953125 <65707420696e20746865204c52> 9.765625 <5520626c6f636b> 20.01953125 <636163686520616e6420746865206461746120626c6f636b7320617265206b> 20.01953125 <65707420696e20746865206275636b> 20.01953125 <657463616368652e>] TJ
 ET
@@ -125282,7 +125438,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 499.98000000000013 Td
+63.24000000000001 249.3000000000001 Td
 /F3.0 10.5 Tf
 <74727565> Tj
 ET
@@ -125293,7 +125449,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 475.98000000000013 Td
+48.24000000000001 225.3000000000001 Td
 /F3.0 10.5 Tf
 <68626173652e6275636b657463616368652e73697a65> Tj
 ET
@@ -125306,7 +125462,7 @@ ET
 0.406 Tw
 
 BT
-63.24000000000001 457.7960000000001 Td
+63.24000000000001 207.1160000000001 Td
 /F1.0 10.5 Tf
 <4120666c6f617420746861742045495448455220726570726573656e747320612070657263656e74616765206f6620746f74616c2068656170206d656d6f72792073697a6520746f206769766520746f2074686520636163686520286966203c20312e3029> Tj
 ET
@@ -125319,7 +125475,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 442.0160000000001 Td
+63.24000000000001 191.3360000000001 Td
 /F1.0 10.5 Tf
 [<4f522c2069742069732074686520746f74616c20636170616369747920696e206d65676162> 20.01953125 <79746573206f66204275636b> 20.01953125 <657443616368652e2044656661756c743a20302e30>] TJ
 ET
@@ -125330,7 +125486,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 414.2360000000001 Td
+63.24000000000001 163.5560000000001 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -125341,7 +125497,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 388.6400000000001 Td
+48.24000000000001 137.9600000000001 Td
 /F3.0 10.5 Tf
 <68626173652e6275636b657463616368652e6275636b65742e73697a6573> Tj
 ET
@@ -125354,7 +125510,7 @@ ET
 1.370 Tw
 
 BT
-63.24000000000001 370.4560000000001 Td
+63.24000000000001 119.7760000000001 Td
 /F1.0 10.5 Tf
 [<4120636f6d6d612d7365706172> 20.01953125 <61746564206c697374206f662073697a657320666f72206275636b> 20.01953125 <65747320666f7220746865206275636b> 20.01953125 <657463616368652e2043616e206265206d756c7469706c652073697a65732e204c69737420626c6f636b>] TJ
 ET
@@ -125369,7 +125525,7 @@ ET
 0.695 Tw
 
 BT
-63.24000000000001 354.67600000000004 Td
+63.24000000000001 103.9960000000001 Td
 /F1.0 10.5 Tf
 <73697a657320696e206f726465722066726f6d20736d616c6c65737420746f206c6172676573742e205468652073697a657320796f75207573652077696c6c20646570656e64206f6e20796f7572206461746120616363657373207061747465726e732e> Tj
 ET
@@ -125384,7 +125540,7 @@ ET
 1.479 Tw
 
 BT
-63.24000000000001 338.8960000000001 Td
+63.24000000000001 88.2160000000001 Td
 /F1.0 10.5 Tf
 <4d7573742062652061206d756c7469706c65206f66203130323420656c736520796f752077696c6c2072756e20696e746f20276a6176612e696f2e494f457863657074696f6e3a20496e76616c6964204846696c6520626c6f636b206d6167696327> Tj
 ET
@@ -125399,7 +125555,7 @@ ET
 2.533 Tw
 
 BT
-63.24000000000001 323.1160000000001 Td
+63.24000000000001 72.43600000000009 Td
 /F1.0 10.5 Tf
 <7768656e20796f7520676f20746f20726561642066726f6d2063616368652e20496620796f752073706563696679206e6f2076616c75657320686572652c207468656e20796f75207069636b207570207468652064656661756c74> Tj
 ET
@@ -125412,18 +125568,83 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 307.33600000000007 Td
+63.24000000000001 56.65600000000009 Td
 /F1.0 10.5 Tf
 [<6275636b> 20.01953125 <657473697a65732073657420696e20636f64652028536565204275636b> 20.01953125 <6574416c6c6f6361746f7223444546> 69.82421875 <41> 20.01953125 <554c> 69.82421875 <545f4255434b45545f53495a4553292e>] TJ
 ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
+q
+0.000 0.000 0.000 scn
+0.000 0.000 0.000 SCN
+1 w
+0 J
+0 j
+[ ] 0 d
+q
+0.5 w
+0.867 0.867 0.867 SCN
+48.240 30.120 m
+563.760 30.120 l
+S
+Q
 0.200 0.200 0.200 scn
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 279.5560000000001 Td
+553.698 14.508000000000001 Td
+/F1.0 9 Tf
+<3436> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+239 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 612.0 792.0]
+/Contents 238 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F3.0 31 0 R
+/F1.0 11 0 R
+>>
+>>
+/Annots [240 0 R]
+>>
+endobj
+240 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (http://hbase.apache.org/book.html#offheap.blockcache)
+>>
+/Subtype /Link
+/Rect [212.87396777343747 374.9500000000001 485.4537626953125 389.2300000000001]
+/Type /Annot
+>>
+endobj
+241 0 obj
+<< /Length 10208
+>>
+stream
+q
+/DeviceRGB cs
+1.000 1.000 1.000 scn
+0.000 0.000 612.000 792.000 re
+f
+0.000 0.000 0.000 scn
+0.200 0.200 0.200 scn
+/DeviceRGB CS
+0.200 0.200 0.200 SCN
+
+BT
+63.24000000000001 744.036 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -125434,7 +125655,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 253.96000000000012 Td
+48.24000000000001 718.44 Td
 /F3.0 10.5 Tf
 <6866696c652e666f726d61742e76657273696f6e> Tj
 ET
@@ -125447,7 +125668,7 @@ ET
 3.005 Tw
 
 BT
-63.24000000000001 235.77600000000012 Td
+63.24000000000001 700.256 Td
 /F1.0 10.5 Tf
 [<546865204846696c6520666f726d61742076657273696f6e20746f2075736520666f72206e65772066696c65732e2056> 60.05859375 <657273696f6e2033206164647320737570706f727420666f72207461677320696e206866696c65732028536565>] TJ
 ET
@@ -125462,7 +125683,7 @@ ET
 5.683 Tw
 
 BT
-63.24000000000001 219.99600000000012 Td
+63.24000000000001 684.476 Td
 /F1.0 10.5 Tf
 <687474703a2f2f68626173652e6170616368652e6f72672f626f6f6b2e68746d6c2368626173652e74616773> Tj
 ET
@@ -125477,7 +125698,7 @@ ET
 5.683 Tw
 
 BT
-291.384 219.99600000000012 Td
+291.384 684.476 Td
 /F1.0 10.5 Tf
 [<292e204469737472696275746564204c6f67205265706c61> 20.01953125 <792072657175697265732074686174207461677320617265>] TJ
 ET
@@ -125490,7 +125711,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 204.21600000000012 Td
+63.24000000000001 668.696 Td
 /F1.0 10.5 Tf
 [<656e61626c65642e20416c736f207365652074686520636f6e6669677572> 20.01953125 <6174696f6e202768626173652e7265706c69636174696f6e2e7270632e636f646563272e>] TJ
 ET
@@ -125501,7 +125722,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 178.62000000000012 Td
+63.24000000000001 643.1 Td
 /F3.0 10.5 Tf
 <33> Tj
 ET
@@ -125512,7 +125733,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 154.62000000000012 Td
+48.24000000000001 619.1 Td
 /F3.0 10.5 Tf
 <6866696c652e626c6f636b2e626c6f6f6d2e63616368656f6e7772697465> Tj
 ET
@@ -125523,7 +125744,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 136.43600000000012 Td
+63.24000000000001 600.9159999999999 Td
 /F1.0 10.5 Tf
 <456e61626c65732063616368652d6f6e2d777269746520666f7220696e6c696e6520626c6f636b73206f66206120636f6d706f756e6420426c6f6f6d2066696c7465722e> Tj
 ET
@@ -125534,7 +125755,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 110.84000000000012 Td
+63.24000000000001 575.32 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -125545,7 +125766,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 86.84000000000012 Td
+48.24000000000001 551.32 Td
 /F3.0 10.5 Tf
 <696f2e73746f726566696c652e626c6f6f6d2e626c6f636b2e73697a65> Tj
 ET
@@ -125558,7 +125779,7 @@ ET
 0.977 Tw
 
 BT
-63.24000000000001 68.65600000000012 Td
+63.24000000000001 533.136 Td
 /F1.0 10.5 Tf
 [<5468652073697a6520696e2062> 20.01953125 <79746573206f6620612073696e676c6520626c6f636b2028226368756e6b2229206f66206120636f6d706f756e6420426c6f6f6d2066696c7465722e20546869732073697a6520697320617070726f78696d6174652c>] TJ
 ET
@@ -125573,7 +125794,7 @@ ET
 1.076 Tw
 
 BT
-63.24000000000001 52.87600000000012 Td
+63.24000000000001 517.356 Td
 /F1.0 10.5 Tf
 [<6265636175736520426c6f6f6d20626c6f636b732063616e206f6e6c7920626520696e736572746564206174206461746120626c6f636b20626f756e6461726965732c20616e6420746865206e756d626572206f66206b> 20.01953125 <65797320706572>] TJ
 ET
@@ -125582,87 +125803,11 @@ ET
 0.000 Tw
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-q
-0.000 0.000 0.000 scn
-0.000 0.000 0.000 SCN
-1 w
-0 J
-0 j
-[ ] 0 d
-q
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 30.120 m
-563.760 30.120 l
-S
-Q
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-553.698 14.508000000000001 Td
-/F1.0 9 Tf
-<3436> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-Q
-Q
-
-endstream
-endobj
-239 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 612.0 792.0]
-/Contents 238 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F3.0 31 0 R
-/F1.0 11 0 R
->>
->>
-/Annots [240 0 R 241 0 R]
->>
-endobj
-240 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (http://hbase.apache.org/book.html#offheap.blockcache)
->>
-/Subtype /Link
-/Rect [212.87396777343747 625.63 485.4537626953125 639.9100000000001]
-/Type /Annot
->>
-endobj
-241 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (http://hbase.apache.org/book.html#hbase.tags)
->>
-/Subtype /Link
-/Rect [63.24000000000001 216.93000000000012 291.384 231.21000000000012]
-/Type /Annot
->>
-endobj
-242 0 obj
-<< /Length 10418
->>
-stream
-q
-/DeviceRGB cs
-1.000 1.000 1.000 scn
-0.000 0.000 612.000 792.000 re
-f
-0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
-/DeviceRGB CS
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 744.786 Td
+63.24000000000001 501.576 Td
 /F1.0 10.5 Tf
 <6461746120626c6f636b207661726965732e> Tj
 ET
@@ -125673,7 +125818,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 719.19 Td
+63.24000000000001 475.98 Td
 /F3.0 10.5 Tf
 <313331303732> Tj
 ET
@@ -125684,7 +125829,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 695.19 Td
+48.24000000000001 451.98 Td
 /F3.0 10.5 Tf
 <68626173652e72732e6361636865626c6f636b736f6e7772697465> Tj
 ET
@@ -125695,7 +125840,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 677.006 Td
+63.24000000000001 433.796 Td
 /F1.0 10.5 Tf
 <5768657468657220616e204846696c6520626c6f636b2073686f756c6420626520616464656420746f2074686520626c6f636b206361636865207768656e2074686520626c6f636b2069732066696e69736865642e> Tj
 ET
@@ -125706,7 +125851,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 651.4100000000001 Td
+63.24000000000001 408.20000000000005 Td
 /F3.0 10.5 Tf
 <66616c7365> Tj
 ET
@@ -125717,7 +125862,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 627.4100000000001 Td
+48.24000000000001 384.20000000000005 Td
 /F3.0 10.5 Tf
 <68626173652e7270632e74696d656f7574> Tj
 ET
@@ -125730,7 +125875,7 @@ ET
 0.053 Tw
 
 BT
-63.24000000000001 609.226 Td
+63.24000000000001 366.016 Td
 /F1.0 10.5 Tf
 [<5468697320697320666f722074686520525043206c61> 20.01953125 <79657220746f20646566696e6520686f77206c6f6e6720286d696c6c697365636f6e642920484261736520636c69656e74206170706c69636174696f6e732074616b> 20.01953125 <6520666f7220612072656d6f7465>] TJ
 ET
@@ -125743,7 +125888,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 593.446 Td
+63.24000000000001 350.236 Td
 /F1.0 10.5 Tf
 <63616c6c20746f2074696d65206f75742e20497420757365732070696e677320746f20636865636b20636f6e6e656374696f6e73206275742077696c6c206576656e7475616c6c79207468726f7720612054696d656f7574457863657074696f6e2e> Tj
 ET
@@ -125754,7 +125899,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 567.8500000000001 Td
+63.24000000000001 324.64000000000004 Td
 /F3.0 10.5 Tf
 <3630303030> Tj
 ET
@@ -125765,7 +125910,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 543.8500000000001 Td
+48.24000000000001 300.64 Td
 /F3.0 10.5 Tf
 <68626173652e636c69656e742e6f7065726174696f6e2e74696d656f7574> Tj
 ET
@@ -125778,7 +125923,7 @@ ET
 1.508 Tw
 
 BT
-63.24000000000001 525.6660000000002 Td
+63.24000000000001 282.456 Td
 /F1.0 10.5 Tf
 [<4f706572> 20.01953125 <6174696f6e2074696d656f7574206973206120746f702d6c6576656c207265737472696374696f6e20286d696c6c697365636f6e64292074686174206d616b> 20.01953125 <65732073757265206120626c6f636b696e67206f706572> 20.01953125 <6174696f6e20696e>] TJ
 ET
@@ -125793,7 +125938,7 @@ ET
 0.771 Tw
 
 BT
-63.24000000000001 509.8860000000001 Td
+63.24000000000001 266.67600000000004 Td
 /F1.0 10.5 Tf
 [<54> 29.78515625 <61626c652077696c6c206e6f7420626520626c6f636b> 20.01953125 <6564206d6f7265207468616e20746869732e20496e2065616368206f706572> 20.01953125 <6174696f6e2c206966207270632072657175657374206661696c732062656361757365206f662074696d656f7574>] TJ
 ET
@@ -125808,7 +125953,7 @@ ET
 0.467 Tw
 
 BT
-63.24000000000001 494.1060000000001 Td
+63.24000000000001 250.89600000000002 Td
 /F1.0 10.5 Tf
 <6f72206f7468657220726561736f6e2c2069742077696c6c20726574727920756e74696c2073756363657373206f72207468726f772052657472696573457868617573746564457863657074696f6e2e204275742069662074686520746f74616c2074696d65> Tj
 ET
@@ -125823,7 +125968,7 @@ ET
 0.738 Tw
 
 BT
-63.24000000000001 478.32600000000014 Td
+63.24000000000001 235.116 Td
 /F1.0 10.5 Tf
 [<6265696e6720626c6f636b696e6720726561636820746865206f706572> 20.01953125 <6174696f6e2074696d656f7574206265666f72652072657472696573206578686175737465642c2069742077696c6c20627265616b206561726c7920616e64207468726f77>] TJ
 ET
@@ -125836,7 +125981,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 462.5460000000001 Td
+63.24000000000001 219.336 Td
 /F1.0 10.5 Tf
 [<536f636b> 20.01953125 <657454696d656f7574457863657074696f6e2e>] TJ
 ET
@@ -125847,7 +125992,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 436.95000000000016 Td
+63.24000000000001 193.74 Td
 /F3.0 10.5 Tf
 <31323030303030> Tj
 ET
@@ -125858,7 +126003,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 412.95000000000016 Td
+48.24000000000001 169.74 Td
 /F3.0 10.5 Tf
 <68626173652e63656c6c732e7363616e6e65642e7065722e6865617274626561742e636865636b> Tj
 ET
@@ -125871,7 +126016,7 @@ ET
 2.608 Tw
 
 BT
-63.24000000000001 394.76600000000013 Td
+63.24000000000001 151.556 Td
 /F1.0 10.5 Tf
 <546865206e756d626572206f662063656c6c73207363616e6e656420696e206265747765656e2068656172746265617420636865636b732e2048656172746265617420636865636b73206f6363757220647572696e6720746865> Tj
 ET
@@ -125886,7 +126031,7 @@ ET
 0.976 Tw
 
 BT
-63.24000000000001 378.9860000000001 Td
+63.24000000000001 135.776 Td
 /F1.0 10.5 Tf
 <70726f63657373696e67206f66207363616e7320746f2064657465726d696e652077686574686572206f72206e6f7420746865207365727665722073686f756c642073746f70207363616e6e696e6720696e206f7264657220746f2073656e64> Tj
 ET
@@ -125901,7 +126046,7 @@ ET
 2.625 Tw
 
 BT
-63.24000000000001 363.20600000000013 Td
+63.24000000000001 119.99600000000001 Td
 /F1.0 10.5 Tf
 [<6261636b206120686561727462656174206d65737361676520746f2074686520636c69656e742e20486561727462656174206d6573736167657320617265207573656420746f206b> 20.01953125 <6565702074686520636c69656e742d736572766572>] TJ
 ET
@@ -125916,7 +126061,7 @@ ET
 0.228 Tw
 
 BT
-63.24000000000001 347.42600000000016 Td
+63.24000000000001 104.21600000000001 Td
 /F1.0 10.5 Tf
 <636f6e6e656374696f6e20616c69766520647572696e67206c6f6e672072756e6e696e67207363616e732e20536d616c6c2076616c756573206d65616e2074686174207468652068656172746265617420636865636b732077696c6c206f63637572> Tj
 ET
@@ -125931,7 +126076,7 @@ ET
 0.815 Tw
 
 BT
-63.24000000000001 331.64600000000013 Td
+63.24000000000001 88.436 Td
 /F1.0 10.5 Tf
 <6d6f7265206f6674656e20616e6420746875732077696c6c2070726f766964652061207469676874657220626f756e64206f6e2074686520657865637574696f6e2074696d65206f6620746865207363616e2e204c61726765722076616c756573> Tj
 ET
@@ -125944,18 +126089,83 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 315.8660000000001 Td
+63.24000000000001 72.656 Td
 /F1.0 10.5 Tf
 <6d65616e2074686174207468652068656172746265617420636865636b73206f63637572206c657373206672657175656e746c79> Tj
 ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
+q
+0.000 0.000 0.000 scn
+0.000 0.000 0.000 SCN
+1 w
+0 J
+0 j
+[ ] 0 d
+q
+0.5 w
+0.867 0.867 0.867 SCN
+48.240 30.120 m
+563.760 30.120 l
+S
+Q
+0.200 0.200 0.200 scn
+0.200 0.200 0.200 SCN
+
+BT
+48.24 14.508000000000001 Td
+/F1.0 9 Tf
+<3437> Tj
+ET
+
+0.000 0.000 0.000 SCN
+0.000 0.000 0.000 scn
+Q
+Q
+
+endstream
+endobj
+242 0 obj
+<< /Type /Page
+/Parent 3 0 R
+/MediaBox [0 0 612.0 792.0]
+/Contents 241 0 R
+/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
+/Font << /F1.0 11 0 R
+/F3.0 31 0 R
+>>
+>>
+/Annots [243 0 R]
+>>
+endobj
+243 0 obj
+<< /Border [0 0 0]
+/A << /Type /Action
+/S /URI
+/URI (http://hbase.apache.org/book.html#hbase.tags)
+>>
+/Subtype /Link
+/Rect [63.24000000000001 681.41 291.384 695.69]
+/Type /Annot
+>>
+endobj
+244 0 obj
+<< /Length 10121
+>>
+stream
+q
+/DeviceRGB cs
+1.000 1.000 1.000 scn
+0.000 0.000 612.000 792.000 re
+f
+0.000 0.000 0.000 scn
 0.694 0.129 0.275 scn
+/DeviceRGB CS
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 290.2700000000001 Td
+63.24000000000001 746.97 Td
 /F3.0 10.5 Tf
 <3130303030> Tj
 ET
@@ -125966,7 +126176,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 266.2700000000001 Td
+48.24000000000001 722.97 Td
 /F3.0 10.5 Tf
 <68626173652e7270632e73686f72746f7065726174696f6e2e74696d656f7574> Tj
 ET
@@ -125979,7 +126189,7 @@ ET
 1.152 Tw
 
 BT
-63.24000000000001 248.08600000000013 Td
+63.24000000000001 704.786 Td
 /F1.0 10.5 Tf
 [<5468697320697320616e6f746865722076657273696f6e206f66202268626173652e7270632e74696d656f7574222e2046> 40.0390625 <6f722074686f736520525043206f706572> 20.01953125 <6174696f6e2077697468696e20636c75737465722c2077652072656c79206f6e>] TJ
 ET
@@ -125994,7 +126204,7 @@ ET
 2.484 Tw
 
 BT
-63.24000000000001 232.30600000000013 Td
+63.24000000000001 689.006 Td
 /F1.0 10.5 Tf
 [<7468697320636f6e6669677572> 20.01953125 <6174696f6e20746f2073657420612073686f72742074696d656f7574206c696d69746174696f6e20666f722073686f7274206f706572> 20.01953125 <6174696f6e2e2046> 40.0390625 <6f72206578616d706c652c2073686f727420727063>] TJ
 ET
@@ -126009,7 +126219,7 @@ ET
 1.839 Tw
 
 BT
-63.24000000000001 216.52600000000012 Td
+63.24000000000001 673.226 Td
 /F1.0 10.5 Tf
 [<74696d656f757420666f7220726567696f6e20736572766572> -29.78515625 <d5> 49.8046875 <7320747279696e6720746f207265706f727420746f20616374697665206d61737465722063616e2062656e6566697420717569636b> 20.01953125 <6572206d6173746572206661696c6f766572>] TJ
 ET
@@ -126022,7 +126232,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 200.74600000000012 Td
+63.24000000000001 657.446 Td
 /F1.0 10.5 Tf
 <70726f636573732e> Tj
 ET
@@ -126033,7 +126243,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 175.15000000000012 Td
+63.24000000000001 631.85 Td
 /F3.0 10.5 Tf
 <3130303030> Tj
 ET
@@ -126044,7 +126254,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 151.15000000000012 Td
+48.24000000000001 607.85 Td
 /F3.0 10.5 Tf
 <68626173652e6970632e636c69656e742e7463706e6f64656c6179> Tj
 ET
@@ -126057,7 +126267,7 @@ ET
 40.916 Tw
 
 BT
-63.24000000000001 132.96600000000012 Td
+63.24000000000001 589.6659999999999 Td
 /F1.0 10.5 Tf
 [<536574206e6f2064656c61> 20.01953125 <79206f6e2072706320736f636b> 20.01953125 <657420636f6e6e656374696f6e732e20536565>] TJ
 ET
@@ -126070,7 +126280,7 @@ ET
 0.259 0.545 0.792 SCN
 
 BT
-63.24000000000001 117.18600000000012 Td
+63.24000000000001 573.886 Td
 /F1.0 10.5 Tf
 [<687474703a2f2f646f63732e6f72> 20.01953125 <61636c652e636f6d2f6a61766173652f312e352e302f646f63732f6170692f6a6176612f6e65742f536f636b> 20.01953125 <65742e68746d6c2367657454> 29.78515625 <63704e6f44656c61> 20.01953125 <7928>] TJ
 ET
@@ -126081,7 +126291,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-465.55964062500004 117.18600000000012 Td
+465.55964062500004 573.886 Td
 /F1.0 10.5 Tf
 <29> Tj
 ET
@@ -126092,7 +126302,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-63.24000000000001 91.59000000000012 Td
+63.24000000000001 548.2900000000001 Td
 /F3.0 10.5 Tf
 <74727565> Tj
 ET
@@ -126103,85 +126313,20 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 67.59000000000012 Td
+48.24000000000001 524.2900000000001 Td
 /F3.0 10.5 Tf
 <68626173652e726567696f6e7365727665722e686f73746e616d65> Tj
 ET
 
 0.000 0.000 0.000 SCN
 0.000 0.000 0.000 scn
-q
-0.000 0.000 0.000 scn
-0.000 0.000 0.000 SCN
-1 w
-0 J
-0 j
-[ ] 0 d
-q
-0.5 w
-0.867 0.867 0.867 SCN
-48.240 30.120 m
-563.760 30.120 l
-S
-Q
-0.200 0.200 0.200 scn
-0.200 0.200 0.200 SCN
-
-BT
-48.24 14.508000000000001 Td
-/F1.0 9 Tf
-<3437> Tj
-ET
-
-0.000 0.000 0.000 SCN
-0.000 0.000 0.000 scn
-Q
-Q
-
-endstream
-endobj
-243 0 obj
-<< /Type /Page
-/Parent 3 0 R
-/MediaBox [0 0 612.0 792.0]
-/Contents 242 0 R
-/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
-/Font << /F1.0 11 0 R
-/F3.0 31 0 R
->>
->>
-/Annots [244 0 R]
->>
-endobj
-244 0 obj
-<< /Border [0 0 0]
-/A << /Type /Action
-/S /URI
-/URI (http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#getTcpNoDelay\()
->>
-/Subtype /Link
-/Rect [63.24000000000001 114.12000000000012 465.55964062500004 128.40000000000012]
-/Type /Annot
->>
-endobj
-245 0 obj
-<< /Length 9813
->>
-stream
-q
-/DeviceRGB cs
-1.000 1.000 1.000 scn
-0.000 0.000 612.000 792.000 re
-f
-0.000 0.000 0.000 scn
 0.200 0.200 0.200 scn
-/DeviceRGB CS
 0.200 0.200 0.200 SCN
 
 0.125 Tw
 
 BT
-63.24000000000001 744.786 Td
+63.24000000000001 506.10600000000005 Td
 /F1.0 10.5 Tf
 <5468697320636f6e66696720697320666f7220657870657274733a20646f6ed57420736574206974732076616c756520756e6c65737320796f75207265616c6c79206b6e6f77207768617420796f752061726520646f696e672e205768656e2073657420746f> Tj
 ET
@@ -126196,7 +126341,7 @@ ET
 1.556 Tw
 
 BT
-63.24000000000001 729.006 Td
+63.24000000000001 490.326 Td
 /F1.0 10.5 Tf
 <61206e6f6e2d656d7074792076616c75652c207468697320726570726573656e747320746865202865787465726e616c20666163696e672920686f73746e616d6520666f722074686520756e6465726c79696e67207365727665722e20536565> Tj
 ET
@@ -126209,7 +126354,7 @@ ET
 0.259 0.545 0.792 SCN
 
 BT
-63.24000000000001 713.226 Td
+63.24000000000001 474.54600000000005 Td
 /F1.0 10.5 Tf
 [<68747470733a2f2f6973737565732e6170616368652e6f72672f6a6972> 20.01953125 <612f62726f7773652f4842> 20.01953125 <4153452d3132393534>] TJ
 ET
@@ -126220,7 +126365,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-315.16608984375 713.226 Td
+315.16608984375 474.54600000000005 Td
 /F1.0 10.5 Tf
 <20666f722064657461696c732e> Tj
 ET
@@ -126231,7 +126376,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 685.4459999999999 Td
+63.24000000000001 446.766 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -126242,7 +126387,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 659.85 Td
+48.24000000000001 421.1700000000001 Td
 /F3.0 10.5 Tf
 <68626173652e6d61737465722e6b65797461622e66696c65> Tj
 ET
@@ -126253,7 +126398,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 641.6659999999999 Td
+63.24000000000001 402.98600000000005 Td
 /F1.0 10.5 Tf
 [<46756c6c207061746820746f20746865206b> 20.01953125 <65726265726f73206b> 20.01953125 <65797461622066696c6520746f2075736520666f72206c6f6767696e6720696e2074686520636f6e6669677572656420484d617374657220736572766572207072696e636970616c2e>] TJ
 ET
@@ -126264,7 +126409,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 613.886 Td
+63.24000000000001 375.2060000000001 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -126275,7 +126420,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 588.2900000000001 Td
+48.24000000000001 349.6100000000001 Td
 /F3.0 10.5 Tf
 <68626173652e6d61737465722e6b65726265726f732e7072696e636970616c> Tj
 ET
@@ -126288,7 +126433,7 @@ ET
 1.635 Tw
 
 BT
-63.24000000000001 570.106 Td
+63.24000000000001 331.4260000000001 Td
 /F1.0 10.5 Tf
 [<45782e202268626173652f5f484f53> 20.01953125 <54404558414d504c452e434f4d222e20546865206b> 20.01953125 <65726265726f73207072696e636970616c206e616d6520746861742073686f756c64206265207573656420746f2072756e20746865>] TJ
 ET
@@ -126303,7 +126448,7 @@ ET
 0.091 Tw
 
 BT
-63.24000000000001 554.326 Td
+63.24000000000001 315.6460000000001 Td
 /F1.0 10.5 Tf
 [<484d61737465722070726f636573732e20546865207072696e636970616c206e616d652073686f756c6420626520696e2074686520666f726d3a20757365722f686f73746e616d6540444f4d41494e2e20496620225f484f53> 20.01953125 <5422206973>] TJ
 ET
@@ -126316,7 +126461,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 538.546 Td
+63.24000000000001 299.8660000000001 Td
 /F1.0 10.5 Tf
 <757365642061732074686520686f73746e616d6520706f7274696f6e2c2069742077696c6c206265207265706c616365642077697468207468652061637475616c20686f73746e616d65206f66207468652072756e6e696e6720696e7374616e63652e> Tj
 ET
@@ -126327,7 +126472,7 @@ ET
 0.200 0.200 0.200 SCN
 
 BT
-63.24000000000001 510.766 Td
+63.24000000000001 272.08600000000007 Td
 /F1.0 10.5 Tf
 <6e6f6e65> Tj
 ET
@@ -126338,7 +126483,7 @@ ET
 0.694 0.129 0.275 SCN
 
 BT
-48.24000000000001 485.1700000000001 Td
+48.24000000000001 246.4900000000001 Td
 /F3.0 10.5 Tf
 <68626173652e726567696f6e7365727665722e6b65797461622e66696c65> Tj
 ET
@@ -126351,7 +126496,7 @@ ET
 2.131 Tw
 
 BT
-63.24000000000001 466.98600000000005 Td
+63.24000000000001 228.3060000000001 Td
 /F1.0 10.5 Tf
 [<46756c6c207061746820746f20746865206b> 20.01953125 <65726265726f73206b> 20.01953125 <65797461622066696c6520746f2075736520666f72206c6f6767696e6720696e2074686520636f6e666967757265642048526567696f6e53657276657220736572766572>] TJ
 ET
@@ -126364,7 +126509,7 @@ ET
 0.200 0.200 0.

<TRUNCATED>

[33/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html b/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
index ec3330a..67361c3 100644
--- a/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
+++ b/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  @InterfaceStability.Stable
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.82">RemoteHTable</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.83">RemoteHTable</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></pre>
 <div class="block">HTable interface to remote tables accessed via REST gateway</div>
@@ -559,7 +559,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>RemoteHTable</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.216">RemoteHTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/rest/client/Client.html" title="class in org.apache.hadoop.hbase.rest.client">Client</a>&nbsp;client,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.217">RemoteHTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/rest/client/Client.html" title="class in org.apache.hadoop.hbase.rest.client">Client</a>&nbsp;client,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Constructor</div>
 </li>
@@ -570,7 +570,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>RemoteHTable</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.223">RemoteHTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/rest/client/Client.html" title="class in org.apache.hadoop.hbase.rest.client">Client</a>&nbsp;client,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.224">RemoteHTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/rest/client/Client.html" title="class in org.apache.hadoop.hbase.rest.client">Client</a>&nbsp;client,
                     org.apache.hadoop.conf.Configuration&nbsp;conf,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Constructor</div>
@@ -582,7 +582,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RemoteHTable</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.230">RemoteHTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/rest/client/Client.html" title="class in org.apache.hadoop.hbase.rest.client">Client</a>&nbsp;client,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.231">RemoteHTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/rest/client/Client.html" title="class in org.apache.hadoop.hbase.rest.client">Client</a>&nbsp;client,
                     org.apache.hadoop.conf.Configuration&nbsp;conf,
                     byte[]&nbsp;name)</pre>
 <div class="block">Constructor</div>
@@ -602,7 +602,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>buildRowSpec</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.93">buildRowSpec</a>(byte[]&nbsp;row,
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.94">buildRowSpec</a>(byte[]&nbsp;row,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;familyMap,
                               long&nbsp;startTime,
                               long&nbsp;endTime,
@@ -615,7 +615,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>buildMultiRowSpec</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.152">buildMultiRowSpec</a>(byte[][]&nbsp;rows,
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.153">buildMultiRowSpec</a>(byte[][]&nbsp;rows,
                                    int&nbsp;maxVersions)</pre>
 </li>
 </ul>
@@ -625,7 +625,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>buildResultFromModel</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.175">buildResultFromModel</a>(org.apache.hadoop.hbase.rest.model.CellSetModel&nbsp;model)</pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.176">buildResultFromModel</a>(org.apache.hadoop.hbase.rest.model.CellSetModel&nbsp;model)</pre>
 </li>
 </ul>
 <a name="buildModelFromPut-org.apache.hadoop.hbase.client.Put-">
@@ -634,7 +634,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>buildModelFromPut</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.rest.model.CellSetModel&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.198">buildModelFromPut</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.rest.model.CellSetModel&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.199">buildModelFromPut</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</pre>
 </li>
 </ul>
 <a name="getTableName--">
@@ -643,7 +643,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.238">getTableName</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.239">getTableName</a>()</pre>
 </li>
 </ul>
 <a name="getName--">
@@ -652,7 +652,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.243">getName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.244">getName</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getName--">Table</a></code></span></div>
 <div class="block">Gets the fully qualified table name instance of this table.</div>
 <dl>
@@ -667,7 +667,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.248">getConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.249">getConfiguration</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getConfiguration--">Table</a></code></span></div>
 <div class="block">Returns the <code>Configuration</code> object used by this instance.
  <p>
@@ -685,7 +685,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.253">getTableDescriptor</a>()
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.254">getTableDescriptor</a>()
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getTableDescriptor--">Table</a></code></span></div>
 <div class="block">Gets the <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>table descriptor</code></a> for this table.</div>
@@ -703,7 +703,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.282">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.283">close</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#close--">Table</a></code></span></div>
 <div class="block">Releases any resources held or pending changes in internal buffers.</div>
@@ -725,7 +725,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.287">get</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.288">get</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#get-org.apache.hadoop.hbase.client.Get-">Table</a></code></span></div>
 <div class="block">Extracts certain cells from a given row.</div>
@@ -749,7 +749,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.306">get</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.307">get</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#get-java.util.List-">Table</a></code></span></div>
 <div class="block">Extracts certain cells from the given rows, in batch.</div>
@@ -775,7 +775,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>exists</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.363">exists</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.364">exists</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#exists-org.apache.hadoop.hbase.client.Get-">Table</a></code></span></div>
 <div class="block">Test for the existence of columns in the table, as specified by the Get.
@@ -804,7 +804,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>existsAll</h4>
-<pre>public&nbsp;boolean[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.374">existsAll</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)
+<pre>public&nbsp;boolean[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.375">existsAll</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">exists(List) is really a list of get() calls. Just use get().</div>
 <dl>
@@ -826,7 +826,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html"
 <li class="blockList">
 <h4>exists</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.384">exists</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)
+public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.385">exists</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&gt;&nbsp;gets)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
@@ -841,7 +841,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.394">put</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.395">put</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#put-org.apache.hadoop.hbase.client.Put-">Table</a></code></span></div>
 <div class="block">Puts some data in the table.</div>
@@ -861,7 +861,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.423">put</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.424">put</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)
          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#put-java.util.List-">Table</a></code></span></div>
 <div class="block">Puts some data in the table, in batch.
@@ -947,7 +947,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.648">getScanner</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.653">getScanner</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-org.apache.hadoop.hbase.client.Scan-">Table</a></code></span></div>
 <div class="block">Returns a scanner on the current table as specified by the <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>
@@ -972,7 +972,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.653">getScanner</a>(byte[]&nbsp;family)
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.658">getScanner</a>(byte[]&nbsp;family)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-byte:A-">Table</a></code></span></div>
 <div class="block">Gets a scanner on the current table for the given family.</div>
@@ -994,7 +994,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.660">getScanner</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ResultScanner.html" title="interface in org.apache.hadoop.hbase.client">ResultScanner</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.665">getScanner</a>(byte[]&nbsp;family,
                                 byte[]&nbsp;qualifier)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getScanner-byte:A-byte:A-">Table</a></code></span></div>
@@ -1018,7 +1018,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>isAutoFlush</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.667">isAutoFlush</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.672">isAutoFlush</a>()</pre>
 </li>
 </ul>
 <a name="checkAndPut-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Put-">
@@ -1027,7 +1027,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPut</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.672">checkAndPut</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.677">checkAndPut</a>(byte[]&nbsp;row,
                            byte[]&nbsp;family,
                            byte[]&nbsp;qualifier,
                            byte[]&nbsp;value,
@@ -1059,7 +1059,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPut</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.709">checkAndPut</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.714">checkAndPut</a>(byte[]&nbsp;row,
                            byte[]&nbsp;family,
                            byte[]&nbsp;qualifier,
                            <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -1098,7 +1098,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndDelete</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.715">checkAndDelete</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.720">checkAndDelete</a>(byte[]&nbsp;row,
                               byte[]&nbsp;family,
                               byte[]&nbsp;qualifier,
                               byte[]&nbsp;value,
@@ -1130,7 +1130,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndDelete</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.753">checkAndDelete</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.758">checkAndDelete</a>(byte[]&nbsp;row,
                               byte[]&nbsp;family,
                               byte[]&nbsp;qualifier,
                               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -1169,7 +1169,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.759">increment</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.764">increment</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#increment-org.apache.hadoop.hbase.client.Increment-">Table</a></code></span></div>
 <div class="block">Increments one or more columns within a single row.
@@ -1197,7 +1197,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.764">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.769">append</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#append-org.apache.hadoop.hbase.client.Append-">Table</a></code></span></div>
 <div class="block">Appends values to one or more columns within a single row.
@@ -1225,7 +1225,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementColumnValue</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.769">incrementColumnValue</a>(byte[]&nbsp;row,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.774">incrementColumnValue</a>(byte[]&nbsp;row,
                                  byte[]&nbsp;family,
                                  byte[]&nbsp;qualifier,
                                  long&nbsp;amount)
@@ -1256,7 +1256,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementColumnValue</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.775">incrementColumnValue</a>(byte[]&nbsp;row,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.780">incrementColumnValue</a>(byte[]&nbsp;row,
                                  byte[]&nbsp;family,
                                  byte[]&nbsp;qualifier,
                                  long&nbsp;amount,
@@ -1293,7 +1293,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>batch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.781">batch</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&nbsp;actions,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.786">batch</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&nbsp;actions,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;results)
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#batch-java.util.List-java.lang.Object:A-">Table</a></code></span></div>
@@ -1321,7 +1321,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>batchCallback</h4>
-<pre>public&nbsp;&lt;R&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.786">batchCallback</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&nbsp;actions,
+<pre>public&nbsp;&lt;R&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.791">batchCallback</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&nbsp;actions,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;results,
                               org.apache.hadoop.hbase.client.coprocessor.Batch.Callback&lt;R&gt;&nbsp;callback)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
@@ -1343,7 +1343,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">CoprocessorRpcChannel</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.792">coprocessorService</a>(byte[]&nbsp;row)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">CoprocessorRpcChannel</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.797">coprocessorService</a>(byte[]&nbsp;row)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#coprocessorService-byte:A-">Table</a></code></span></div>
 <div class="block">Creates and returns a <code>RpcChannel</code> instance connected to the
  table region containing the specified row.  The row given does not actually have
@@ -1383,7 +1383,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<pre>public&nbsp;&lt;T extends com.google.protobuf.Service,R&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],R&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.797">coprocessorService</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;service,
+<pre>public&nbsp;&lt;T extends com.google.protobuf.Service,R&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],R&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.802">coprocessorService</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;service,
                                                                                   byte[]&nbsp;startKey,
                                                                                   byte[]&nbsp;endKey,
                                                                                   org.apache.hadoop.hbase.client.coprocessor.Batch.Call&lt;T,R&gt;&nbsp;callable)
@@ -1422,7 +1422,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorService</h4>
-<pre>public&nbsp;&lt;T extends com.google.protobuf.Service,R&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.804">coprocessorService</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;service,
+<pre>public&nbsp;&lt;T extends com.google.protobuf.Service,R&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.809">coprocessorService</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;service,
                                                                          byte[]&nbsp;startKey,
                                                                          byte[]&nbsp;endKey,
                                                                          org.apache.hadoop.hbase.client.coprocessor.Batch.Call&lt;T,R&gt;&nbsp;callable,
@@ -1463,7 +1463,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.811">mutateRow</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.816">mutateRow</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)
                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#mutateRow-org.apache.hadoop.hbase.client.RowMutations-">Table</a></code></span></div>
 <div class="block">Performs multiple mutations atomically on a single row. Currently
@@ -1484,7 +1484,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteBufferSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.816">getWriteBufferSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.821">getWriteBufferSize</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getWriteBufferSize--">Table</a></code></span></div>
 <div class="block">Returns the maximum size in bytes of the write buffer for this HTable.
  <p>
@@ -1504,7 +1504,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>setWriteBufferSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.821">setWriteBufferSize</a>(long&nbsp;writeBufferSize)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.826">setWriteBufferSize</a>(long&nbsp;writeBufferSize)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#setWriteBufferSize-long-">Table</a></code></span></div>
 <div class="block">Sets the size of the buffer in bytes.
@@ -1529,7 +1529,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>batchCoprocessorService</h4>
-<pre>public&nbsp;&lt;R extends com.google.protobuf.Message&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],R&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.826">batchCoprocessorService</a>(com.google.protobuf.Descriptors.MethodDescriptor&nbsp;method,
+<pre>public&nbsp;&lt;R extends com.google.protobuf.Message&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],R&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.831">batchCoprocessorService</a>(com.google.protobuf.Descriptors.MethodDescriptor&nbsp;method,
                                                                                      com.google.protobuf.Message&nbsp;request,
                                                                                      byte[]&nbsp;startKey,
                                                                                      byte[]&nbsp;endKey,
@@ -1570,7 +1570,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>batchCoprocessorService</h4>
-<pre>public&nbsp;&lt;R extends com.google.protobuf.Message&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.833">batchCoprocessorService</a>(com.google.protobuf.Descriptors.MethodDescriptor&nbsp;method,
+<pre>public&nbsp;&lt;R extends com.google.protobuf.Message&gt;&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.838">batchCoprocessorService</a>(com.google.protobuf.Descriptors.MethodDescriptor&nbsp;method,
                                                                             com.google.protobuf.Message&nbsp;request,
                                                                             byte[]&nbsp;startKey,
                                                                             byte[]&nbsp;endKey,
@@ -1615,7 +1615,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutate</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.840">checkAndMutate</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.845">checkAndMutate</a>(byte[]&nbsp;row,
                               byte[]&nbsp;family,
                               byte[]&nbsp;qualifier,
                               <a href="../../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -1654,7 +1654,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>setOperationTimeout</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.846">setOperationTimeout</a>(int&nbsp;operationTimeout)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.851">setOperationTimeout</a>(int&nbsp;operationTimeout)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#setOperationTimeout-int-">Table</a></code></span></div>
 <div class="block">Set timeout (millisecond) of each operation in this Table instance, will override the value
  of hbase.client.operation.timeout in configuration.
@@ -1677,7 +1677,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <ul class="blockList">
 <li class="blockList">
 <h4>getOperationTimeout</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.851">getOperationTimeout</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.856">getOperationTimeout</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getOperationTimeout--">Table</a></code></span></div>
 <div class="block">Get timeout (millisecond) of each operation for in Table instance.</div>
 <dl>
@@ -1693,7 +1693,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.
 <li class="blockList">
 <h4>setRpcTimeout</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.857">setRpcTimeout</a>(int&nbsp;rpcTimeout)</pre>
+public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.862">setRpcTimeout</a>(int&nbsp;rpcTimeout)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#setRpcTimeout-int-">Table</a></code></span></div>
 <div class="block">Set timeout (millisecond) of each rpc request in operations of this Table instance, will
@@ -1717,7 +1717,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>getRpcTimeout</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.863">getRpcTimeout</a>()</pre>
+public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.868">getRpcTimeout</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getRpcTimeout--">Table</a></code></span></div>
 <div class="block">Get timeout (millisecond) of each rpc request in this Table instance.</div>
@@ -1733,7 +1733,7 @@ public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadRpcTimeout</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.868">getReadRpcTimeout</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.873">getReadRpcTimeout</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getReadRpcTimeout--">Table</a></code></span></div>
 <div class="block">Get timeout (millisecond) of each rpc read request in this Table instance.</div>
 <dl>
@@ -1748,7 +1748,7 @@ public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockList">
 <li class="blockList">
 <h4>setReadRpcTimeout</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.873">setReadRpcTimeout</a>(int&nbsp;readRpcTimeout)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.878">setReadRpcTimeout</a>(int&nbsp;readRpcTimeout)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#setReadRpcTimeout-int-">Table</a></code></span></div>
 <div class="block">Set timeout (millisecond) of each rpc read request in operations of this Table instance, will
  override the value of hbase.rpc.read.timeout in configuration.
@@ -1766,7 +1766,7 @@ public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRpcTimeout</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.878">getWriteRpcTimeout</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.883">getWriteRpcTimeout</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#getWriteRpcTimeout--">Table</a></code></span></div>
 <div class="block">Get timeout (millisecond) of each rpc write request in this Table instance.</div>
 <dl>
@@ -1781,7 +1781,7 @@ public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setWriteRpcTimeout</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.883">setWriteRpcTimeout</a>(int&nbsp;writeRpcTimeout)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/client/RemoteHTable.html#line.888">setWriteRpcTimeout</a>(int&nbsp;writeRpcTimeout)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/Table.html#setWriteRpcTimeout-int-">Table</a></code></span></div>
 <div class="block">Set timeout (millisecond) of each rpc write request in operations of this Table instance, will
  override the value of hbase.rpc.write.timeout in configuration.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html b/apidocs/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html
index 8171352..c88aa6a 100644
--- a/apidocs/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html
+++ b/apidocs/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html
@@ -138,7 +138,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#NAMESPACEDESC_PROP_GROUP">NAMESPACEDESC_PROP_GROUP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#NAMESPACE_DESC_PROP_GROUP">NAMESPACE_DESC_PROP_GROUP</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -178,7 +178,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#addAllServers-java.util.Collection-">addAllServers</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;hostPort)</code>
-<div class="block">Adds a group of servers.</div>
+<div class="block">Adds the given servers to the group.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -188,7 +188,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#addServer-org.apache.hadoop.hbase.net.Address-">addServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)</code>
-<div class="block">Adds the server to the group.</div>
+<div class="block">Adds the given server to the group.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
@@ -222,7 +222,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#getTables--">getTables</a></span>()</code>
-<div class="block">Set of tables that are members of this group</div>
+<div class="block">Get set of tables that are members of the group.</div>
 </td>
 </tr>
 <tr id="i10" class="altColor">
@@ -232,7 +232,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#removeServer-org.apache.hadoop.hbase.net.Address-">removeServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)</code>
-<div class="block">Remove a server from this group.</div>
+<div class="block">Remove given server from the group.</div>
 </td>
 </tr>
 <tr id="i12" class="altColor">
@@ -271,23 +271,23 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_GROUP</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.38">DEFAULT_GROUP</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.37">DEFAULT_GROUP</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.rsgroup.RSGroupInfo.DEFAULT_GROUP">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
-<a name="NAMESPACEDESC_PROP_GROUP">
+<a name="NAMESPACE_DESC_PROP_GROUP">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>NAMESPACEDESC_PROP_GROUP</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.39">NAMESPACEDESC_PROP_GROUP</a></pre>
+<h4>NAMESPACE_DESC_PROP_GROUP</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.38">NAMESPACE_DESC_PROP_GROUP</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.rsgroup.RSGroupInfo.NAMESPACEDESC_PROP_GROUP">Constant Field Values</a></dd>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.rsgroup.RSGroupInfo.NAMESPACE_DESC_PROP_GROUP">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
@@ -305,7 +305,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>RSGroupInfo</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.47">RSGroupInfo</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.46">RSGroupInfo</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 </li>
 </ul>
 <a name="RSGroupInfo-org.apache.hadoop.hbase.rsgroup.RSGroupInfo-">
@@ -314,7 +314,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RSGroupInfo</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.58">RSGroupInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&nbsp;src)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.57">RSGroupInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a>&nbsp;src)</pre>
 </li>
 </ul>
 </li>
@@ -331,12 +331,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.67">getName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.64">getName</a>()</pre>
 <div class="block">Get group name.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>group name</dd>
-</dl>
 </li>
 </ul>
 <a name="addServer-org.apache.hadoop.hbase.net.Address-">
@@ -345,12 +341,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.76">addServer</a>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)</pre>
-<div class="block">Adds the server to the group.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>hostPort</code> - the server</dd>
-</dl>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.71">addServer</a>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)</pre>
+<div class="block">Adds the given server to the group.</div>
 </li>
 </ul>
 <a name="addAllServers-java.util.Collection-">
@@ -359,12 +351,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addAllServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.85">addAllServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;hostPort)</pre>
-<div class="block">Adds a group of servers.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>hostPort</code> - the servers</dd>
-</dl>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.78">addAllServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;hostPort)</pre>
+<div class="block">Adds the given servers to the group.</div>
 </li>
 </ul>
 <a name="containsServer-org.apache.hadoop.hbase.net.Address-">
@@ -373,7 +361,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>containsServer</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.93">containsServer</a>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.86">containsServer</a>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>hostPort</code> - hostPort of the server</dd>
@@ -388,12 +376,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.102">getServers</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.93">getServers</a>()</pre>
 <div class="block">Get list of servers.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>set of servers</dd>
-</dl>
 </li>
 </ul>
 <a name="removeServer-org.apache.hadoop.hbase.net.Address-">
@@ -402,12 +386,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>removeServer</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.111">removeServer</a>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)</pre>
-<div class="block">Remove a server from this group.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>hostPort</code> - HostPort of the server to remove</dd>
-</dl>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.100">removeServer</a>(<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&nbsp;hostPort)</pre>
+<div class="block">Remove given server from the group.</div>
 </li>
 </ul>
 <a name="getTables--">
@@ -416,12 +396,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTables</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.119">getTables</a>()</pre>
-<div class="block">Set of tables that are members of this group</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>set of tables</dd>
-</dl>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.107">getTables</a>()</pre>
+<div class="block">Get set of tables that are members of the group.</div>
 </li>
 </ul>
 <a name="addTable-org.apache.hadoop.hbase.TableName-">
@@ -430,7 +406,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.123">addTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.111">addTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
 </li>
 </ul>
 <a name="addAllTables-java.util.Collection-">
@@ -439,7 +415,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addAllTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.127">addAllTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;arg)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.115">addAllTables</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;arg)</pre>
 </li>
 </ul>
 <a name="containsTable-org.apache.hadoop.hbase.TableName-">
@@ -448,7 +424,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>containsTable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.131">containsTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.119">containsTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
 </li>
 </ul>
 <a name="removeTable-org.apache.hadoop.hbase.TableName-">
@@ -457,7 +433,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>removeTable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.135">removeTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.123">removeTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
 </li>
 </ul>
 <a name="toString--">
@@ -466,7 +442,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.140">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.128">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://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>
@@ -479,7 +455,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.152">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.143">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://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>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -492,7 +468,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.176">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#line.167">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://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>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/security/class-use/User.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/security/class-use/User.html b/apidocs/org/apache/hadoop/hbase/security/class-use/User.html
index 20b54f8..4d8f5df 100644
--- a/apidocs/org/apache/hadoop/hbase/security/class-use/User.html
+++ b/apidocs/org/apache/hadoop/hbase/security/class-use/User.html
@@ -152,7 +152,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a></code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html" title="interface in org.apache.hadoop.hbase.client">AsyncConnection</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectionFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionFactory.html#createAsyncConnection-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.security.User-">createAsyncConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                      <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>
 <div class="block">Create a new AsyncConnection instance using the passed <code>conf</code> and <code>user</code>.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html b/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
index ce1954b..2f26d09 100644
--- a/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
+++ b/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html
@@ -172,7 +172,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.util.AbstractHBaseTool</h3>
-<code>cmdLineArgs, conf, EXIT_FAILURE, EXIT_SUCCESS</code></li>
+<code>cmdLineArgs, conf, EXIT_FAILURE, EXIT_SUCCESS, LONG_HELP_OPTION, options, SHORT_HELP_OPTION</code></li>
 </ul>
 </li>
 </ul>
@@ -238,7 +238,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.util.AbstractHBaseTool</h3>
-<code>addOption, addOptNoArg, addOptNoArg, addOptWithArg, addOptWithArg, addRequiredOption, addRequiredOptWithArg, addRequiredOptWithArg, doStaticMain, getConf, getOptionAsDouble, getOptionAsInt, parseInt, parseLong, printUsage, processOldArgs, run, setConf</code></li>
+<code>addOption, addOptNoArg, addOptNoArg, addOptWithArg, addOptWithArg, addRequiredOption, addRequiredOptWithArg, addRequiredOptWithArg, doStaticMain, getConf, getOptionAsDouble, getOptionAsInt, parseArgs, parseInt, parseLong, printUsage, processOldArgs, run, setConf</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -360,7 +360,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>processOptions</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.897">processOptions</a>(org.apache.commons.cli.CommandLine&nbsp;cmd)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.896">processOptions</a>(org.apache.commons.cli.CommandLine&nbsp;cmd)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.util.AbstractHBaseTool</code></span></div>
 <div class="block">This method is called to process the options after they have been parsed.</div>
 <dl>
@@ -375,7 +375,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>doWork</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.922">doWork</a>()
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.921">doWork</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Execute the export snapshot by copying the snapshot metadata, hfiles and wals.</div>
 <dl>
@@ -394,7 +394,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>printUsage</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.1087">printUsage</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.1086">printUsage</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code>printUsage</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.hbase.util.AbstractHBaseTool</code></dd>
@@ -407,7 +407,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>addOptions</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.1100">addOptions</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.1099">addOptions</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.util.AbstractHBaseTool</code></span></div>
 <div class="block">Override this to add command-line options using <code>AbstractHBaseTool.addOptWithArg(java.lang.String, java.lang.String)</code>
  and similar methods.</div>
@@ -423,7 +423,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.1115">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.html#line.1114">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html b/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
index a52c4b2..ef16d54 100644
--- a/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
+++ b/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
@@ -146,7 +146,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.util.AbstractHBaseTool</h3>
-<code>cmdLineArgs, conf, EXIT_FAILURE, EXIT_SUCCESS</code></li>
+<code>cmdLineArgs, conf, EXIT_FAILURE, EXIT_SUCCESS, LONG_HELP_OPTION, options, SHORT_HELP_OPTION</code></li>
 </ul>
 </li>
 </ul>
@@ -242,7 +242,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.util.AbstractHBaseTool</h3>
-<code>addOption, addOptNoArg, addOptNoArg, addOptWithArg, addOptWithArg, addRequiredOption, addRequiredOptWithArg, addRequiredOptWithArg, doStaticMain, getConf, getOptionAsDouble, getOptionAsInt, parseInt, parseLong, printUsage, processOldArgs, run, setConf</code></li>
+<code>addOption, addOptNoArg, addOptNoArg, addOptWithArg, addOptWithArg, addRequiredOption, addRequiredOptWithArg, addRequiredOptWithArg, doStaticMain, getConf, getOptionAsDouble, getOptionAsInt, parseArgs, parseInt, parseLong, printUsage, processOldArgs, run, setConf</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -415,7 +415,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapshotsFilesMap</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.fs.Path,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html#line.683">getSnapshotsFilesMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.fs.Path,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html#line.682">getSnapshotsFilesMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a>&nbsp;uniqueHFilesArchiveSize,
                                                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a>&nbsp;uniqueHFilesSize,
                                                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a>&nbsp;uniqueHFilesMobSize)
@@ -440,7 +440,7 @@ extends org.apache.hadoop.hbase.util.AbstractHBaseTool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html#line.710">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html#line.709">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
 </li>
 </ul>
 </li>


[51/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.


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

Branch: refs/heads/asf-site
Commit: 22cff34fad76a374434dd0b7ddfe1f87ae4a0d8f
Parents: c6ddb98
Author: jenkins <bu...@apache.org>
Authored: Tue Mar 21 14:36:43 2017 +0000
Committer: Misty Stanley-Jones <mi...@apache.org>
Committed: Tue Mar 21 09:34:14 2017 -0700

----------------------------------------------------------------------
 acid-semantics.html                             |    10 +-
 apache_hbase_reference_guide.pdf                | 41478 +++++++++--------
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 apidocs/allclasses-frame.html                   |     3 +
 apidocs/allclasses-noframe.html                 |     3 +
 apidocs/constant-values.html                    |    60 +-
 apidocs/deprecated-list.html                    |    50 +-
 apidocs/index-all.html                          |   266 +-
 apidocs/org/apache/hadoop/hbase/CellUtil.html   |   160 +-
 .../hadoop/hbase/HBaseInterfaceAudience.html    |    21 +-
 .../apache/hadoop/hbase/HColumnDescriptor.html  |    89 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |   228 +-
 .../apache/hadoop/hbase/KeepDeletedCells.html   |     4 +-
 .../apache/hadoop/hbase/LocalHBaseCluster.html  |    58 +-
 .../org/apache/hadoop/hbase/class-use/Cell.html |   204 +-
 .../hbase/class-use/NamespaceDescriptor.html    |    29 +-
 .../hadoop/hbase/class-use/TableName.html       |    16 +-
 .../hadoop/hbase/client/ConnectionFactory.html  |   107 +-
 .../apache/hadoop/hbase/client/Durability.html  |     4 +-
 apidocs/org/apache/hadoop/hbase/client/Get.html |   130 +-
 .../apache/hadoop/hbase/client/Increment.html   |    28 +-
 .../apache/hadoop/hbase/client/Mutation.html    |    48 +-
 .../org/apache/hadoop/hbase/client/Query.html   |     2 +-
 .../hadoop/hbase/client/RegionLoadStats.html    |     4 +-
 .../org/apache/hadoop/hbase/client/Result.html  |   127 +-
 .../hadoop/hbase/client/ResultScanner.html      |    39 +-
 .../org/apache/hadoop/hbase/client/Scan.html    |   173 +-
 .../hadoop/hbase/client/ScanResultConsumer.html |    41 +-
 .../hbase/client/SnapshotDescription.html       |     4 +-
 .../hadoop/hbase/client/class-use/Append.html   |     8 +-
 .../hbase/client/class-use/AsyncConnection.html |     8 +-
 .../hbase/client/class-use/Consistency.html     |     8 +-
 .../hadoop/hbase/client/class-use/Delete.html   |    44 +-
 .../hbase/client/class-use/Durability.html      |    24 +-
 .../hadoop/hbase/client/class-use/Get.html      |    36 +-
 .../hbase/client/class-use/Increment.html       |     8 +-
 .../hbase/client/class-use/IsolationLevel.html  |     8 +-
 .../hadoop/hbase/client/class-use/Mutation.html |     8 +-
 .../hadoop/hbase/client/class-use/Put.html      |    48 +-
 .../hadoop/hbase/client/class-use/Result.html   |    71 +-
 .../hbase/client/class-use/ResultScanner.html   |    26 +-
 .../hadoop/hbase/client/class-use/Row.html      |     8 +-
 .../hbase/client/class-use/RowMutations.html    |    16 +-
 .../hadoop/hbase/client/class-use/Scan.html     |    20 +-
 .../hadoop/hbase/client/class-use/Table.html    |     4 +-
 .../hadoop/hbase/client/package-frame.html      |     3 +
 .../hadoop/hbase/client/package-summary.html    |    23 +-
 .../hadoop/hbase/client/package-tree.html       |    15 +-
 .../apache/hadoop/hbase/client/package-use.html |    10 +
 .../client/replication/ReplicationAdmin.html    |     7 +-
 .../hbase/coprocessor/package-summary.html      |     5 -
 .../hbase/errorhandling/ForeignException.html   |     4 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |     4 +-
 .../FirstKeyValueMatchingQualifiersFilter.html  |     2 +-
 .../hadoop/hbase/filter/FuzzyRowFilter.html     |     8 +-
 .../filter/MultiRowRangeFilter.RowRange.html    |    18 +-
 .../hbase/filter/MultiRowRangeFilter.html       |    10 +-
 .../class-use/CompareFilter.CompareOp.html      |    36 +-
 .../filter/class-use/Filter.ReturnCode.html     |    60 +-
 .../hadoop/hbase/filter/class-use/Filter.html   |    56 +-
 .../hadoop/hbase/filter/package-tree.html       |     4 +-
 .../io/class-use/ImmutableBytesWritable.html    |    62 +-
 .../hadoop/hbase/io/class-use/TimeRange.html    |    20 +-
 .../hadoop/hbase/io/crypto/Encryption.html      |     6 +-
 .../hbase/io/encoding/DataBlockEncoding.html    |     4 +-
 .../hbase/mapreduce/HFileOutputFormat2.html     |     6 +-
 .../hbase/mapreduce/LoadIncrementalHFiles.html  |    44 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |     6 +-
 .../hbase/mapreduce/TableInputFormatBase.html   |    26 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html  |    12 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |   103 +-
 .../mapreduce/class-use/TableRecordReader.html  |     4 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     2 +-
 .../hadoop/hbase/quotas/package-tree.html       |     4 +-
 .../hadoop/hbase/regionserver/BloomType.html    |     4 +-
 .../class-use/ReplicationException.html         |     2 +-
 .../hadoop/hbase/rest/client/RemoteHTable.html  |   102 +-
 .../hadoop/hbase/rsgroup/RSGroupInfo.html       |    84 +-
 .../hadoop/hbase/security/class-use/User.html   |     2 +-
 .../hadoop/hbase/snapshot/ExportSnapshot.html   |    14 +-
 .../hadoop/hbase/snapshot/SnapshotInfo.html     |     8 +-
 .../hadoop/hbase/util/EncryptionTest.html       |     6 +-
 .../apache/hadoop/hbase/util/RegionMover.html   |    12 +-
 .../hadoop/hbase/util/class-use/ByteRange.html  |    98 +-
 .../hadoop/hbase/util/class-use/Order.html      |    36 +-
 .../util/class-use/PositionedByteRange.html     |   352 +-
 apidocs/overview-tree.html                      |    27 +-
 .../org/apache/hadoop/hbase/CellUtil.html       |  4803 +-
 .../org/apache/hadoop/hbase/ChoreService.html   |    10 +-
 .../hadoop/hbase/HBaseInterfaceAudience.html    |    24 +-
 .../apache/hadoop/hbase/HColumnDescriptor.html  |   378 +-
 .../org/apache/hadoop/hbase/HRegionInfo.html    |     2 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |  3017 +-
 .../apache/hadoop/hbase/LocalHBaseCluster.html  |   771 +-
 .../hbase/NamespaceDescriptor.Builder.html      |     6 +-
 .../hadoop/hbase/NamespaceDescriptor.html       |     6 +-
 .../org/apache/hadoop/hbase/ServerLoad.html     |     4 +-
 .../org/apache/hadoop/hbase/ServerName.html     |     2 +-
 .../org/apache/hadoop/hbase/TableName.html      |     2 +-
 .../org/apache/hadoop/hbase/client/Append.html  |     2 +-
 .../hadoop/hbase/client/ConnectionFactory.html  |   509 +-
 .../org/apache/hadoop/hbase/client/Delete.html  |    10 +-
 .../org/apache/hadoop/hbase/client/Get.html     |   929 +-
 ...ableMultiplexer.HTableMultiplexerStatus.html |    14 +-
 .../hadoop/hbase/client/HTableMultiplexer.html  |    14 +-
 .../apache/hadoop/hbase/client/Increment.html   |   267 +-
 .../apache/hadoop/hbase/client/Mutation.html    |   954 +-
 .../hbase/client/OperationWithAttributes.html   |     2 +-
 .../org/apache/hadoop/hbase/client/Put.html     |     6 +-
 .../org/apache/hadoop/hbase/client/Query.html   |     2 +-
 .../org/apache/hadoop/hbase/client/Result.html  |  1786 +-
 .../hadoop/hbase/client/ResultScanner.html      |   186 +-
 .../RetriesExhaustedWithDetailsException.html   |     4 +-
 .../org/apache/hadoop/hbase/client/Scan.html    |  1738 +-
 .../hadoop/hbase/client/ScanResultConsumer.html |    63 +-
 .../hbase/client/TableSnapshotScanner.html      |     2 +-
 .../client/replication/ReplicationAdmin.html    |   217 +-
 .../hbase/errorhandling/ForeignException.html   |   171 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |     2 +-
 .../hadoop/hbase/filter/CompareFilter.html      |     2 +-
 .../hbase/filter/DependentColumnFilter.html     |     2 +-
 .../hbase/filter/FilterList.Operator.html       |     2 +-
 .../apache/hadoop/hbase/filter/FilterList.html  |     2 +-
 .../FirstKeyValueMatchingQualifiersFilter.html  |     4 +-
 .../hadoop/hbase/filter/FuzzyRowFilter.html     |   869 +-
 .../filter/MultiRowRangeFilter.RowRange.html    |   741 +-
 .../hbase/filter/MultiRowRangeFilter.html       |   741 +-
 .../filter/MultipleColumnPrefixFilter.html      |     2 +-
 .../apache/hadoop/hbase/filter/ParseFilter.html |    14 +-
 .../hadoop/hbase/filter/TimestampsFilter.html   |     6 +-
 .../hbase/io/crypto/Encryption.Context.html     |    99 +-
 .../hadoop/hbase/io/crypto/Encryption.html      |    99 +-
 .../hadoop/hbase/mapred/GroupingTableMap.html   |     2 +-
 .../hadoop/hbase/mapreduce/CopyTable.html       |     2 +-
 .../hbase/mapreduce/GroupingTableMapper.html    |     2 +-
 .../hbase/mapreduce/HFileOutputFormat2.html     |   856 +-
 .../apache/hadoop/hbase/mapreduce/Import.html   |     4 +-
 .../hadoop/hbase/mapreduce/ImportTsv.html       |    10 +-
 .../hbase/mapreduce/KeyValueSortReducer.html    |     2 +-
 .../hbase/mapreduce/LoadIncrementalHFiles.html  |  1355 +-
 .../hbase/mapreduce/MultiHFileOutputFormat.html |    69 +-
 .../hbase/mapreduce/MultiTableInputFormat.html  |     2 +-
 .../mapreduce/MultiTableInputFormatBase.html    |     6 +-
 .../hadoop/hbase/mapreduce/PutSortReducer.html  |     4 +-
 .../hbase/mapreduce/ResultSerialization.html    |     2 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |   379 +-
 .../hbase/mapreduce/TableInputFormatBase.html   |  1029 +-
 .../hbase/mapreduce/TableMapReduceUtil.html     |     8 +-
 .../hbase/mapreduce/TableRecordReaderImpl.html  |     4 +-
 .../mapreduce/TableSnapshotInputFormat.html     |     2 +-
 .../hadoop/hbase/mapreduce/TextSortReducer.html |     4 +-
 .../hbase/mapreduce/TsvImporterMapper.html      |     2 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html  |   508 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |   561 +-
 .../apache/hadoop/hbase/quotas/QuotaFilter.html |     2 +-
 .../hadoop/hbase/quotas/QuotaRetriever.html     |     2 +-
 .../hbase/quotas/QuotaSettingsFactory.html      |     4 +-
 .../replication/ReplicationPeerConfig.html      |     4 +-
 .../apache/hadoop/hbase/rest/client/Client.html |     2 +-
 .../hadoop/hbase/rest/client/RemoteHTable.html  |  1165 +-
 .../hadoop/hbase/rsgroup/RSGroupInfo.html       |   255 +-
 .../org/apache/hadoop/hbase/security/User.html  |    49 +-
 .../hadoop/hbase/snapshot/ExportSnapshot.html   |   999 +-
 .../hadoop/hbase/snapshot/SnapshotInfo.html     |   221 +-
 .../hadoop/hbase/types/StructBuilder.html       |     2 +-
 .../hadoop/hbase/util/ByteRangeUtils.html       |     4 +-
 .../org/apache/hadoop/hbase/util/Counter.html   |     2 +-
 .../hadoop/hbase/util/EncryptionTest.html       |   231 +-
 .../apache/hadoop/hbase/util/OrderedBytes.html  |     2 +-
 .../org/apache/hadoop/hbase/util/Pair.html      |     2 +-
 .../apache/hadoop/hbase/util/RegionMover.html   |   365 +-
 .../hbase/zookeeper/MiniZooKeeperCluster.html   |     6 +-
 book.html                                       |   154 +-
 bulk-loads.html                                 |    10 +-
 checkstyle-aggregate.html                       | 28742 ++++++------
 coc.html                                        |    10 +-
 cygwin.html                                     |    10 +-
 dependencies.html                               |    10 +-
 dependency-convergence.html                     |    26 +-
 dependency-info.html                            |    10 +-
 dependency-management.html                      |    10 +-
 devapidocs/allclasses-frame.html                |    93 +-
 devapidocs/allclasses-noframe.html              |    93 +-
 devapidocs/constant-values.html                 |  1146 +-
 devapidocs/deprecated-list.html                 |   575 +-
 devapidocs/index-all.html                       |  5517 ++-
 .../org/apache/hadoop/hbase/Abortable.html      |     2 +-
 .../apache/hadoop/hbase/CellUtil.EmptyCell.html |    38 +-
 .../hadoop/hbase/CellUtil.FirstOnRowCell.html   |    20 +-
 .../hbase/CellUtil.FirstOnRowColCell.html       |    28 +-
 .../hbase/CellUtil.FirstOnRowColTSCell.html     |     8 +-
 .../CellUtil.FirstOnRowDeleteFamilyCell.html    |    20 +-
 .../hadoop/hbase/CellUtil.LastOnRowCell.html    |    20 +-
 .../hadoop/hbase/CellUtil.LastOnRowColCell.html |    28 +-
 .../hadoop/hbase/CellUtil.TagRewriteCell.html   |    33 +-
 .../org/apache/hadoop/hbase/CellUtil.html       |   178 +-
 ...poundConfiguration.ImmutableConfWrapper.html |    18 +-
 .../hadoop/hbase/CompoundConfiguration.html     |    30 +-
 .../org/apache/hadoop/hbase/Coprocessor.html    |    20 +-
 .../org/apache/hadoop/hbase/ExtendedCell.html   |    23 +-
 .../apache/hadoop/hbase/HBaseIOException.html   |     2 +-
 .../hadoop/hbase/HBaseInterfaceAudience.html    |    21 +-
 .../apache/hadoop/hbase/HColumnDescriptor.html  |   101 +-
 .../hadoop/hbase/HDFSBlocksDistribution.html    |    22 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |   296 +-
 .../HealthChecker.HealthCheckerExitStatus.html  |     4 +-
 .../hadoop/hbase/KeyValue.KeyOnlyKeyValue.html  |    33 +-
 .../org/apache/hadoop/hbase/KeyValue.html       |    65 +-
 .../apache/hadoop/hbase/LocalHBaseCluster.html  |    72 +-
 .../MetaTableAccessor.CloseableVisitor.html     |     2 +-
 .../MetaTableAccessor.CollectAllVisitor.html    |     6 +-
 .../MetaTableAccessor.CollectingVisitor.html    |    12 +-
 .../MetaTableAccessor.DefaultVisitorBase.html   |     8 +-
 .../hbase/MetaTableAccessor.QueryType.html      |    16 +-
 .../MetaTableAccessor.TableVisitorBase.html     |     8 +-
 .../hadoop/hbase/MetaTableAccessor.Visitor.html |     4 +-
 .../apache/hadoop/hbase/MetaTableAccessor.html  |   214 +-
 .../org/apache/hadoop/hbase/NoTagsKeyValue.html |     2 +-
 .../apache/hadoop/hbase/SizeCachedKeyValue.html |    25 +-
 .../hadoop/hbase/SizeCachedNoTagsKeyValue.html  |     2 +-
 .../org/apache/hadoop/hbase/Stoppable.html      |     2 +-
 .../hbase/backup/FailedArchiveException.html    |     8 +-
 .../hadoop/hbase/backup/HFileArchiver.File.html |    24 +-
 .../backup/HFileArchiver.FileConverter.html     |     6 +-
 .../HFileArchiver.FileStatusConverter.html      |     6 +-
 .../backup/HFileArchiver.FileablePath.html      |    20 +-
 .../backup/HFileArchiver.FileableStoreFile.html |    18 +-
 .../hbase/backup/HFileArchiver.StoreToFile.html |    10 +-
 .../hadoop/hbase/backup/HFileArchiver.html      |    10 +-
 .../backup/example/HFileArchiveManager.html     |    17 +-
 .../hbase/backup/example/package-summary.html   |     4 +-
 .../hbase/backup/example/package-tree.html      |     4 +-
 .../hadoop/hbase/backup/package-frame.html      |    26 +
 .../hadoop/hbase/backup/package-summary.html    |   147 +-
 .../hadoop/hbase/backup/package-tree.html       |    50 +
 .../apache/hadoop/hbase/backup/package-use.html |   171 +
 .../hadoop/hbase/class-use/Abortable.html       |    73 +-
 .../hbase/class-use/BaseConfigurable.html       |    31 +-
 .../org/apache/hadoop/hbase/class-use/Cell.html |  1553 +-
 .../hadoop/hbase/class-use/CellComparator.html  |   207 +-
 .../hadoop/hbase/class-use/CellScanner.html     |   106 +-
 .../hadoop/hbase/class-use/ClusterStatus.html   |    14 +-
 .../hadoop/hbase/class-use/Coprocessor.html     |    26 -
 .../hbase/class-use/CoprocessorEnvironment.html |    74 +-
 .../hbase/class-use/HBaseIOException.html       |    66 +-
 .../hbase/class-use/HColumnDescriptor.html      |   556 +-
 .../hbase/class-use/HDFSBlocksDistribution.html |     4 +-
 .../hadoop/hbase/class-use/HRegionInfo.html     |  1015 +-
 .../hadoop/hbase/class-use/HRegionLocation.html |   108 +-
 .../hbase/class-use/HTableDescriptor.html       |   811 +-
 .../apache/hadoop/hbase/class-use/KeyValue.html |    56 +-
 .../class-use/MasterNotRunningException.html    |    12 +-
 .../hbase/class-use/MetaMutationAnnotation.html |     4 +-
 .../hbase/class-use/NamespaceDescriptor.html    |   235 +-
 .../class-use/NamespaceNotFoundException.html   |     8 +-
 .../hadoop/hbase/class-use/ProcedureInfo.html   |    43 +-
 .../hadoop/hbase/class-use/RegionLoad.html      |    16 +-
 .../hadoop/hbase/class-use/RegionLocations.html |    48 +-
 .../hadoop/hbase/class-use/ScheduledChore.html  |    32 +-
 .../apache/hadoop/hbase/class-use/Server.html   |    12 +-
 .../hadoop/hbase/class-use/ServerName.html      |   624 +-
 .../hadoop/hbase/class-use/SplitLogTask.html    |    14 +-
 .../hadoop/hbase/class-use/Stoppable.html       |    72 +-
 .../hbase/class-use/TableExistsException.html   |    26 +-
 .../hadoop/hbase/class-use/TableName.html       |  6766 ++-
 .../org/apache/hadoop/hbase/class-use/Tag.html  |    50 +-
 .../class-use/ZooKeeperConnectionException.html |     4 +-
 .../InterfaceAudience.LimitedPrivate.html       |   174 +-
 .../class-use/InterfaceAudience.Private.html    |   887 +-
 .../class-use/InterfaceAudience.Public.html     |    35 +-
 .../class-use/InterfaceStability.Evolving.html  |    85 +-
 .../class-use/InterfaceStability.Unstable.html  |    12 +
 .../hbase/classification/package-summary.html   |     4 +-
 .../hbase/classification/package-tree.html      |    10 +-
 .../hbase/classification/package-use.html       |   336 +-
 .../hbase/client/AbstractClientScanner.html     |    12 +-
 .../client/AllowPartialScanResultCache.html     |    27 +-
 .../AsyncClientScanner.OpenScannerResponse.html |    35 +-
 .../hadoop/hbase/client/AsyncClientScanner.html |    66 +-
 .../client/AsyncConnectionConfiguration.html    |   108 +-
 .../hbase/client/AsyncConnectionImpl.html       |   123 +-
 .../hadoop/hbase/client/AsyncProcess.html       |    42 +-
 .../hadoop/hbase/client/AsyncRegistry.html      |    19 +-
 ...stFutureImpl.ReplicaCallIssuingRunnable.html |    14 +-
 ...yncRequestFutureImpl.ReplicaResultState.html |    10 +-
 .../client/AsyncRequestFutureImpl.Retry.html    |    16 +-
 ...tFutureImpl.SingleServerRequestRunnable.html |    60 +-
 .../hbase/client/AsyncRequestFutureImpl.html    |   210 +-
 ...erFactory.ScanSingleRegionCallerBuilder.html |   142 +-
 .../client/AsyncRpcRetryingCallerFactory.html   |     8 +-
 .../AsyncScanSingleRegionRpcRetryingCaller.html |   228 +-
 .../AsyncSingleRequestRpcRetryingCaller.html    |     4 +-
 .../hadoop/hbase/client/AsyncTableImpl.html     |    21 +-
 .../apache/hadoop/hbase/client/BatchErrors.html |     4 +-
 .../hadoop/hbase/client/BufferedMutator.html    |     4 +-
 ...ntAsyncPrefetchScanner.PrefetchRunnable.html |     6 +-
 .../client/ClientAsyncPrefetchScanner.html      |    82 +-
 .../hadoop/hbase/client/ClientScanner.html      |   393 +-
 .../hbase/client/ClientSideRegionScanner.html   |     6 +-
 .../hbase/client/ClientSimpleScanner.html       |     4 +-
 .../hadoop/hbase/client/ConnectionFactory.html  |   107 +-
 ...onImplementation.MasterServiceStubMaker.html |    10 +-
 ...ntation.ServerErrorTracker.ServerErrors.html |    10 +-
 ...ectionImplementation.ServerErrorTracker.html |    16 +-
 .../hbase/client/ConnectionImplementation.html  |    72 +-
 .../ConnectionUtils.MasterlessConnection.html   |     6 +-
 .../hadoop/hbase/client/ConnectionUtils.html    |   257 +-
 .../org/apache/hadoop/hbase/client/Get.html     |   148 +-
 .../client/HBaseAdmin.ModifyTableFuture.html    |    10 +-
 .../client/HBaseAdmin.NamespaceFuture.html      |    12 +-
 ...in.ProcedureFuture.WaitForStateCallable.html |    12 +-
 .../client/HBaseAdmin.ProcedureFuture.html      |    48 +-
 .../HBaseAdmin.RestoreSnapshotFuture.html       |    12 +-
 ...n.TableFuture.TableWaitForStateCallable.html |     8 +-
 .../hbase/client/HBaseAdmin.TableFuture.html    |    30 +-
 .../client/HBaseAdmin.ThrowableAbortable.html   |     8 +-
 .../apache/hadoop/hbase/client/HBaseAdmin.html  |   768 +-
 .../org/apache/hadoop/hbase/client/HTable.html  |   104 +-
 .../apache/hadoop/hbase/client/Increment.html   |    28 +-
 .../hadoop/hbase/client/MasterCallable.html     |     4 +-
 .../hbase/client/MasterKeepAliveConnection.html |     4 +
 .../apache/hadoop/hbase/client/Mutation.html    |    74 +-
 .../client/PreemptiveFastFailInterceptor.html   |    42 +-
 .../org/apache/hadoop/hbase/client/Query.html   |     2 +-
 .../client/RegionAdminServiceCallable.html      |     4 +-
 .../org/apache/hadoop/hbase/client/Result.html  |   164 +-
 .../hadoop/hbase/client/ResultScanner.html      |    39 +-
 .../hbase/client/ReversedClientScanner.html     |     4 +-
 .../hbase/client/ReversedScannerCallable.html   |    14 +-
 .../org/apache/hadoop/hbase/client/Scan.html    |   193 +-
 .../hadoop/hbase/client/ScanResultCache.html    |     2 +-
 .../hadoop/hbase/client/ScanResultConsumer.html |    37 +-
 .../hadoop/hbase/client/ScannerCallable.html    |   166 +-
 .../hbase/client/ServerStatisticTracker.html    |    12 +-
 .../hadoop/hbase/client/TableState.State.html   |     4 +-
 .../ZKAsyncRegistry.CuratorEventProcessor.html  |     4 +-
 .../hadoop/hbase/client/ZKAsyncRegistry.html    |   115 +-
 .../ServerStatistics.RegionStatistics.html      |    18 +-
 .../hbase/client/backoff/ServerStatistics.html  |     6 +-
 .../backoff/class-use/ClientBackoffPolicy.html  |     4 +-
 .../backoff/class-use/ServerStatistics.html     |     4 +-
 .../AbstractResponse.ResponseType.html          |    10 +-
 .../hadoop/hbase/client/class-use/Action.html   |    10 +-
 .../hadoop/hbase/client/class-use/Admin.html    |    70 +-
 .../hadoop/hbase/client/class-use/Append.html   |    48 +-
 .../hbase/client/class-use/AsyncConnection.html |     8 +-
 .../client/class-use/AsyncConnectionImpl.html   |    21 +-
 .../hbase/client/class-use/AsyncProcess.html    |    14 +-
 .../client/class-use/AsyncRegionLocator.html    |     4 +-
 .../hbase/client/class-use/AsyncRegistry.html   |    16 +-
 ...tFutureImpl.SingleServerRequestRunnable.html |    22 +-
 ...erFactory.ScanSingleRegionCallerBuilder.html |    21 +-
 .../hbase/client/class-use/AsyncTable.html      |    10 +-
 .../class-use/AsyncTableRegionLocator.html      |     8 +-
 .../BufferedMutator.ExceptionListener.html      |     4 +-
 .../hbase/client/class-use/BufferedMutator.html |    14 +-
 .../client/class-use/BufferedMutatorParams.html |     8 +-
 .../CancellableRegionServerCallable.html        |    16 +
 .../client/class-use/ClusterConnection.html     |    69 +-
 .../hbase/client/class-use/CompactType.html     |    20 +-
 .../hbase/client/class-use/CompactionState.html |    20 +-
 .../hbase/client/class-use/Connection.html      |   357 +-
 .../class-use/ConnectionConfiguration.html      |     4 +-
 ...ectionImplementation.ServerErrorTracker.html |     8 +-
 .../hbase/client/class-use/Consistency.html     |     8 +-
 .../hadoop/hbase/client/class-use/Delete.html   |   191 +-
 .../hbase/client/class-use/Durability.html      |    66 +-
 .../hadoop/hbase/client/class-use/Get.html      |   186 +-
 .../hbase/client/class-use/Increment.html       |    48 +-
 .../hbase/client/class-use/IsolationLevel.html  |    20 +-
 .../class-use/MasterKeepAliveConnection.html    |    24 +-
 .../client/class-use/MasterSwitchType.html      |    82 +-
 .../client/class-use/MetricsConnection.html     |     8 +-
 .../hbase/client/class-use/MultiAction.html     |    17 +-
 .../hadoop/hbase/client/class-use/Mutation.html |   177 +-
 .../hbase/client/class-use/NonceGenerator.html  |    22 +-
 .../hadoop/hbase/client/class-use/Put.html      |   233 +-
 .../hbase/client/class-use/RegionLoadStats.html |    12 +-
 .../hbase/client/class-use/RegionLocator.html   |     8 +-
 .../hadoop/hbase/client/class-use/Result.html   |   508 +-
 .../hbase/client/class-use/ResultScanner.html   |    42 +-
 ...stedException.ThrowableWithExtraContext.html |     4 +-
 .../RetriesExhaustedWithDetailsException.html   |     4 +-
 .../client/class-use/RetryingCallable.html      |    18 +-
 .../class-use/RetryingCallerInterceptor.html    |     4 +-
 .../client/class-use/RetryingTimeTracker.html   |     6 +-
 .../hadoop/hbase/client/class-use/Row.html      |    40 +-
 .../hbase/client/class-use/RowMutations.html    |    60 +-
 .../client/class-use/RpcRetryingCaller.html     |    10 +-
 .../class-use/RpcRetryingCallerFactory.html     |    18 +-
 .../hadoop/hbase/client/class-use/Scan.html     |   302 +-
 .../hbase/client/class-use/ScanResultCache.html |    35 +-
 .../hbase/client/class-use/ScannerCallable.html |    12 +-
 .../class-use/ServerStatisticTracker.html       |     8 +-
 .../client/class-use/SnapshotDescription.html   |    58 +-
 .../hbase/client/class-use/SnapshotType.html    |    12 +-
 .../hadoop/hbase/client/class-use/Table.html    |    48 +-
 .../hbase/client/class-use/TableState.html      |     8 +-
 .../client/coprocessor/AggregationClient.html   |     6 +-
 .../coprocessor/class-use/Batch.Call.html       |     8 +-
 .../coprocessor/class-use/Batch.Callback.html   |    22 +-
 .../client/coprocessor/package-summary.html     |     8 +-
 .../hbase/client/metrics/ScanMetrics.html       |   177 +-
 .../client/metrics/ServerSideScanMetrics.html   |    48 +-
 .../client/metrics/class-use/ScanMetrics.html   |   147 +-
 .../hbase/client/metrics/package-use.html       |    21 +
 .../hadoop/hbase/client/package-frame.html      |     7 +
 .../hadoop/hbase/client/package-summary.html    |   268 +-
 .../hadoop/hbase/client/package-tree.html       |    38 +-
 .../apache/hadoop/hbase/client/package-use.html |   415 +-
 .../client/replication/ReplicationAdmin.html    |    22 +-
 .../security/class-use/SecurityCapability.html  |     8 +-
 .../hbase/codec/class-use/Codec.Decoder.html    |    20 +-
 .../hbase/codec/class-use/Codec.Encoder.html    |     8 +-
 .../hadoop/hbase/codec/class-use/Codec.html     |    10 +-
 .../class-use/PrefixTreeBlockMeta.html          |    16 +-
 .../prefixtree/decode/ArraySearcherPool.html    |     6 +-
 .../decode/PrefixTreeArraySearcher.html         |     4 +-
 .../prefixtree/encode/EncoderPoolImpl.html      |     4 +-
 .../encode/class-use/PrefixTreeEncoder.html     |    20 +-
 .../encode/other/class-use/ColumnNodeType.html  |    12 +-
 .../class-use/TokenizerRowSearchResult.html     |    12 +-
 .../codec/prefixtree/scanner/CellSearcher.html  |     4 +-
 .../conf/class-use/ConfigurationManager.html    |    12 +-
 .../hadoop/hbase/constraint/Constraint.html     |     8 +-
 .../hbase/constraint/ConstraintProcessor.html   |    37 +-
 .../hadoop/hbase/constraint/package-tree.html   |     6 +-
 .../BaseCoordinatedStateManager.html            |    74 +-
 .../coordination/ZkCoordinatedStateManager.html |    80 +-
 ...agerCoordination.SplitLogManagerDetails.html |    16 +-
 .../class-use/SplitLogManagerCoordination.html  |     8 +-
 ...tLogWorkerCoordination.SplitTaskDetails.html |    14 +-
 .../class-use/SplitLogWorkerCoordination.html   |     8 +-
 .../coprocessor/AggregateImplementation.html    |     4 +-
 .../BaseMasterAndRegionObserver.html            |  5151 --
 .../hbase/coprocessor/BaseMasterObserver.html   |  5248 ---
 .../hbase/coprocessor/BaseRegionObserver.html   |  3513 --
 .../coprocessor/BaseRegionServerObserver.html   |   689 -
 .../coprocessor/BaseRowProcessorEndpoint.html   |     8 +-
 .../hbase/coprocessor/BaseWALObserver.html      |   459 -
 .../hbase/coprocessor/BulkLoadObserver.html     |    45 +-
 .../CoprocessorHost.Environment.html            |    40 +-
 ...essorHost.EnvironmentPriorityComparator.html |     6 +-
 .../hbase/coprocessor/CoprocessorHost.html      |    80 +-
 .../hbase/coprocessor/EndpointObserver.html     |    60 +-
 .../hbase/coprocessor/MasterObserver.html       |  1978 +-
 .../RegionObserver.MutationType.html            |    10 +-
 .../hbase/coprocessor/RegionObserver.html       |  1181 +-
 .../hbase/coprocessor/RegionServerObserver.html |   210 +-
 .../hadoop/hbase/coprocessor/WALObserver.html   |    81 +-
 .../class-use/BaseMasterAndRegionObserver.html  |   193 -
 .../class-use/BaseMasterObserver.html           |   192 -
 .../class-use/BaseRegionObserver.html           |   324 -
 .../class-use/BaseRegionServerObserver.html     |   168 -
 .../coprocessor/class-use/BaseWALObserver.html  |   125 -
 .../class-use/MasterCoprocessorEnvironment.html |  3324 +-
 .../coprocessor/class-use/MasterObserver.html   |    36 +-
 .../coprocessor/class-use/ObserverContext.html  |  4204 +-
 .../class-use/RegionCoprocessorEnvironment.html |   752 +-
 .../class-use/RegionObserver.MutationType.html  |    10 +-
 .../coprocessor/class-use/RegionObserver.html   |    40 +-
 .../RegionServerCoprocessorEnvironment.html     |    96 +-
 .../class-use/RegionServerObserver.html         |    30 +-
 .../class-use/WALCoprocessorEnvironment.html    |    38 +-
 .../coprocessor/class-use/WALObserver.html      |    46 +-
 .../example/ZooKeeperScanPolicyObserver.html    |    90 +-
 .../hbase/coprocessor/example/package-tree.html |    14 +-
 .../hadoop/hbase/coprocessor/package-frame.html |     5 -
 .../hbase/coprocessor/package-summary.html      |    43 +-
 .../hadoop/hbase/coprocessor/package-tree.html  |     8 -
 .../hadoop/hbase/coprocessor/package-use.html   |   132 +-
 .../ForeignException.ProxyThrowable.html        |     4 +-
 .../hbase/errorhandling/ForeignException.html   |     6 +-
 .../ForeignExceptionDispatcher.html             |    20 +-
 .../class-use/ForeignException.html             |    58 +-
 .../class-use/ForeignExceptionDispatcher.html   |    42 +-
 .../hadoop/hbase/errorhandling/package-use.html |    40 +-
 .../class-use/DeserializationException.html     |   168 +-
 .../class-use/FailedSanityCheckException.html   |    10 +-
 .../class-use/UnexpectedStateException.html     |     8 +-
 .../executor/ExecutorService.Executor.html      |    24 +-
 .../ExecutorService.ExecutorStatus.html         |    12 +-
 .../ExecutorService.RunningEventStatus.html     |     8 +-
 ...cutorService.TrackingThreadPoolExecutor.html |    12 +-
 .../hadoop/hbase/executor/ExecutorService.html  |    22 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |     4 +-
 .../FirstKeyValueMatchingQualifiersFilter.html  |     2 +-
 .../hbase/filter/FuzzyRowFilter.Order.html      |    22 +-
 .../hbase/filter/FuzzyRowFilter.RowTracker.html |     8 +-
 .../filter/FuzzyRowFilter.SatisfiesCode.html    |    12 +-
 .../hadoop/hbase/filter/FuzzyRowFilter.html     |    26 +-
 .../filter/MultiRowRangeFilter.RowRange.html    |    47 +-
 .../hbase/filter/MultiRowRangeFilter.html       |    16 +-
 .../filter/class-use/ByteArrayComparable.html   |   128 +-
 .../class-use/CompareFilter.CompareOp.html      |   182 +-
 .../filter/class-use/Filter.ReturnCode.html     |    64 +-
 .../hadoop/hbase/filter/class-use/Filter.html   |   160 +-
 .../hadoop/hbase/filter/package-tree.html       |     8 +-
 .../hadoop/hbase/http/HttpServer.Builder.html   |    94 +-
 ...Server.QuotingInputFilter.RequestQuoter.html |    18 +-
 .../http/HttpServer.QuotingInputFilter.html     |    14 +-
 .../hbase/http/HttpServer.StackServlet.html     |     8 +-
 .../apache/hadoop/hbase/http/HttpServer.html    |    94 +-
 .../hadoop/hbase/http/class-use/InfoServer.html |    23 +-
 .../apache/hadoop/hbase/http/package-use.html   |    23 +-
 .../hadoop/hbase/io/BoundedByteBufferPool.html  |   508 -
 .../hadoop/hbase/io/ByteArrayOutputStream.html  |     4 +-
 .../apache/hadoop/hbase/io/Reference.Range.html |     4 +-
 .../FanOutOneBlockAsyncDFSOutput.State.html     |     4 +-
 .../FanOutOneBlockAsyncDFSOutputHelper.html     |     8 +-
 .../io/class-use/BoundedByteBufferPool.html     |   125 -
 .../io/class-use/FSDataInputStreamWrapper.html  |    26 +-
 .../io/class-use/ImmutableBytesWritable.html    |    98 +-
 .../hadoop/hbase/io/class-use/Reference.html    |    26 +-
 .../io/class-use/TagCompressionContext.html     |    20 +-
 .../hadoop/hbase/io/class-use/TimeRange.html    |    20 +-
 .../io/compress/Compression.Algorithm.html      |     4 +-
 .../class-use/Compression.Algorithm.html        |    80 +-
 .../hadoop/hbase/io/crypto/Encryption.html      |     6 +-
 .../io/crypto/aes/class-use/CryptoAES.html      |     4 +-
 .../hbase/io/crypto/class-use/Cipher.html       |     8 +-
 .../io/crypto/class-use/Encryption.Context.html |    42 +-
 .../hbase/io/crypto/class-use/Encryptor.html    |    12 +-
 ...kEncoder.BufferedDataBlockEncodingState.html |     6 +-
 ...dDataBlockEncoder.BufferedEncodedSeeker.html |    50 +-
 ...eredDataBlockEncoder.OffheapDecodedCell.html |   139 +-
 ...feredDataBlockEncoder.OnheapDecodedCell.html |    35 +-
 .../io/encoding/BufferedDataBlockEncoder.html   |    16 +-
 .../hbase/io/encoding/DataBlockEncoding.html    |     4 +-
 .../BufferedDataBlockEncoder.SeekerState.html   |     8 +-
 .../io/encoding/class-use/CompressionState.html |     4 +-
 .../DataBlockEncoder.EncodedSeeker.html         |    14 +-
 .../encoding/class-use/DataBlockEncoding.html   |    50 +-
 .../io/encoding/class-use/EncodingState.html    |    12 +-
 .../class-use/HFileBlockDecodingContext.html    |    48 +-
 .../HFileBlockDefaultDecodingContext.html       |    14 +-
 .../HFileBlockDefaultEncodingContext.html       |    18 +-
 .../class-use/HFileBlockEncodingContext.html    |   114 +-
 .../io/encoding/class-use/NoneEncoder.html      |     8 +-
 .../BlockCacheUtil.CachedBlocksByFile.html      |    20 +-
 .../hbase/io/hfile/Cacheable.MemoryType.html    |     4 +-
 .../hfile/CacheableDeserializerIdManager.html   |     6 +-
 .../CompoundBloomFilterWriter.MetaWriter.html   |     4 +-
 .../hadoop/hbase/io/hfile/FixedFileTrailer.html |    74 +-
 .../hbase/io/hfile/HFileBlock.FSReaderImpl.html |    48 +-
 .../hadoop/hbase/io/hfile/HFileBlock.html       |    46 +-
 .../hfile/HFileBlockIndex.BlockIndexChunk.html  |    28 +-
 .../hadoop/hbase/io/hfile/HFileBlockIndex.html  |     6 +-
 .../hadoop/hbase/io/hfile/HFileScanner.html     |     4 +-
 .../hadoop/hbase/io/hfile/HFileWriterImpl.html  |     4 +-
 .../hadoop/hbase/io/hfile/PrefetchExecutor.html |    18 +-
 .../io/hfile/bucket/BucketAllocator.Bucket.html |    48 +-
 .../bucket/BucketAllocator.BucketSizeInfo.html  |    30 +-
 .../bucket/BucketAllocator.IndexStatistics.html |    30 +-
 .../hbase/io/hfile/bucket/BucketAllocator.html  |   129 +-
 .../hfile/bucket/BucketCache.BucketEntry.html   |    42 +-
 .../bucket/BucketCache.BucketEntryGroup.html    |    22 +-
 .../hfile/bucket/BucketCache.RAMQueueEntry.html |    20 +-
 .../bucket/BucketCache.StatisticsThread.html    |     8 +-
 .../hfile/bucket/BucketCache.WriterThread.html  |    14 +-
 .../hbase/io/hfile/bucket/BucketCache.html      |   347 +-
 .../hbase/io/hfile/bucket/FileIOEngine.html     |   235 +-
 .../hbase/io/hfile/bucket/FileMmapEngine.html   |     4 +-
 .../hbase/io/hfile/bucket/package-frame.html    |     3 +
 .../hbase/io/hfile/bucket/package-summary.html  |    12 +
 .../hbase/io/hfile/bucket/package-tree.html     |     3 +
 .../hbase/io/hfile/bucket/package-use.html      |    11 +-
 .../hbase/io/hfile/class-use/BlockCache.html    |     6 +-
 .../hbase/io/hfile/class-use/BlockCacheKey.html |    70 +-
 .../hbase/io/hfile/class-use/BlockType.html     |    42 +-
 .../hbase/io/hfile/class-use/CacheConfig.html   |   136 +-
 .../hbase/io/hfile/class-use/CacheStats.html    |    12 +-
 .../hbase/io/hfile/class-use/Cacheable.html     |    84 +-
 .../hfile/class-use/CacheableDeserializer.html  |    12 +-
 .../hbase/io/hfile/class-use/CachedBlock.html   |     6 +-
 .../io/hfile/class-use/FixedFileTrailer.html    |     4 +-
 .../io/hfile/class-use/HFile.FileInfo.html      |     8 +-
 .../hbase/io/hfile/class-use/HFile.Reader.html  |    35 +-
 .../hbase/io/hfile/class-use/HFile.Writer.html  |    18 +-
 .../io/hfile/class-use/HFileBlock.FSReader.html |     8 +-
 .../hbase/io/hfile/class-use/HFileBlock.html    |    24 +-
 .../HFileBlockIndex.BlockIndexReader.html       |     4 +-
 .../hbase/io/hfile/class-use/HFileContext.html  |    78 +-
 .../hfile/class-use/HFileDataBlockEncoder.html  |     4 +-
 .../hbase/io/hfile/class-use/HFileScanner.html  |    45 +-
 .../io/hfile/class-use/LruCachedBlock.html      |     8 +-
 .../hadoop/hbase/io/hfile/package-frame.html    |     1 +
 .../hadoop/hbase/io/hfile/package-summary.html  |    26 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     5 +-
 .../hadoop/hbase/io/hfile/package-use.html      |    40 +-
 .../apache/hadoop/hbase/io/package-frame.html   |     1 -
 .../apache/hadoop/hbase/io/package-summary.html |    44 +-
 .../apache/hadoop/hbase/io/package-tree.html    |     1 -
 .../AbstractRpcClient.AbstractRpcChannel.html   |    14 +-
 ...Client.BlockingRpcChannelImplementation.html |     6 +-
 ...tractRpcClient.RpcChannelImplementation.html |     6 +-
 .../hadoop/hbase/ipc/AbstractRpcClient.html     |    10 +-
 .../apache/hadoop/hbase/ipc/CallEvent.Type.html |     4 +-
 .../org/apache/hadoop/hbase/ipc/IPCUtil.html    |    22 +-
 ...seServerSourceFactoryImpl.SourceStorage.html |     2 +-
 .../MetricsHBaseServerSourceFactoryImpl.html    |     4 +-
 .../RpcServer.BlockingServiceAndInterface.html  |    12 +-
 .../hbase/ipc/RpcServer.ByteBuffByteInput.html  |    20 +-
 .../apache/hadoop/hbase/ipc/RpcServer.Call.html |   132 +-
 .../hadoop/hbase/ipc/RpcServer.CallCleanup.html |     4 +-
 .../hadoop/hbase/ipc/RpcServer.Connection.html  |    82 +-
 .../org/apache/hadoop/hbase/ipc/RpcServer.html  |   134 +-
 .../hadoop/hbase/ipc/ServerRpcController.html   |     8 +-
 .../apache/hadoop/hbase/ipc/class-use/Call.html |    12 +-
 .../hadoop/hbase/ipc/class-use/CallRunner.html  |    38 +-
 .../hbase/ipc/class-use/ConnectionId.html       |    14 +-
 .../ipc/class-use/CoprocessorRpcChannel.html    |    20 +-
 .../ipc/class-use/HBaseRPCErrorHandler.html     |    12 +-
 ...HBaseRpcController.CancellationCallback.html |    10 +-
 .../hbase/ipc/class-use/HBaseRpcController.html |    23 +-
 .../hbase/ipc/class-use/MetricsHBaseServer.html |     4 +-
 .../hbase/ipc/class-use/PriorityFunction.html   |     6 +-
 .../hbase/ipc/class-use/RpcCallContext.html     |    17 +-
 .../hadoop/hbase/ipc/class-use/RpcCallback.html |     3 +-
 .../ipc/class-use/RpcControllerFactory.html     |    32 +-
 .../ipc/class-use/RpcExecutor.Handler.html      |    12 +-
 .../ipc/class-use/RpcScheduler.Context.html     |     4 +-
 .../hbase/ipc/class-use/RpcScheduler.html       |     4 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |     2 +-
 .../hbase/mapreduce/HFileOutputFormat2.html     |    34 +-
 .../mapreduce/HashTable.TableHash.Reader.html   |     4 +-
 .../LoadIncrementalHFiles.BulkHFileVisitor.html |     6 +-
 .../LoadIncrementalHFiles.LoadQueueItem.html    |    10 +-
 .../hbase/mapreduce/LoadIncrementalHFiles.html  |   145 +-
 .../mapreduce/RowCounter.RowCounterMapper.html  |     5 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |    14 +-
 .../SyncTable.SyncMapper.CellScanner.html       |    18 +-
 .../mapreduce/SyncTable.SyncMapper.Counter.html |    34 +-
 .../hbase/mapreduce/SyncTable.SyncMapper.html   |    58 +-
 .../hadoop/hbase/mapreduce/SyncTable.html       |    10 +-
 .../hbase/mapreduce/TableInputFormatBase.html   |    34 +-
 .../WALInputFormat.WALKeyRecordReader.html      |     6 +-
 .../WALInputFormat.WALRecordReader.html         |    24 +-
 .../mapreduce/WALInputFormat.WALSplit.html      |    32 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html  |    39 +-
 .../mapreduce/WALPlayer.WALKeyValueMapper.html  |    10 +-
 .../hbase/mapreduce/WALPlayer.WALMapper.html    |    44 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |    46 +-
 .../hbase/mapreduce/class-use/CellCreator.html  |    10 +-
 .../class-use/ImportTsv.TsvParser.html          |    10 +-
 .../class-use/LoadIncrementalHFiles.html        |    48 +
 .../hadoop/hbase/mapreduce/package-frame.html   |     2 +
 .../hadoop/hbase/mapreduce/package-summary.html |    16 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |    10 +-
 .../hadoop/hbase/mapreduce/package-use.html     |    81 +-
 .../replication/VerifyReplication.Verifier.html |     4 +-
 .../replication/VerifyReplication.html          |    18 +-
 ...AssignmentManager.DelayedAssignCallable.html |     8 +-
 .../hadoop/hbase/master/AssignmentManager.html  |   222 +-
 .../master/AssignmentVerificationReport.html    |    62 +-
 ...talogJanitor.SplitParentFirstComparator.html |     8 +-
 .../hadoop/hbase/master/CatalogJanitor.html     |    14 +-
 ...MulticastPublisher.ClusterStatusEncoder.html |     8 +-
 ...stPublisher.HBaseDatagramChannelFactory.html |    12 +-
 ...usterStatusPublisher.MulticastPublisher.html |    14 +-
 .../ClusterStatusPublisher.Publisher.html       |     8 +-
 .../hbase/master/ClusterStatusPublisher.html    |    20 +-
 ...alBulkAssigner.SingleServerBulkAssigner.html |    14 +-
 .../hbase/master/GeneralBulkAssigner.html       |    22 +-
 .../master/HMaster.InitializationMonitor.html   |    20 +-
 .../hbase/master/HMaster.PeriodicDoMetrics.html |     8 +-
 .../hbase/master/HMaster.RedirectServlet.html   |    40 +-
 .../org/apache/hadoop/hbase/master/HMaster.html |   474 +-
 .../master/HMasterCommandLine.LocalHMaster.html |     4 +-
 .../hbase/master/MasterCoprocessorHost.html     |   278 +-
 .../MasterRpcServices.BalanceSwitchMode.html    |     6 +-
 .../hadoop/hbase/master/MasterRpcServices.html  |   186 +-
 ...ionPlacementMaintainer.RandomizedMatrix.html |    22 +-
 .../hbase/master/RegionPlacementMaintainer.html |    22 +-
 .../hadoop/hbase/master/RegionState.State.html  |     4 +-
 .../hadoop/hbase/master/RegionStates.html       |   162 +-
 .../hadoop/hbase/master/ServerListener.html     |    36 +-
 .../hadoop/hbase/master/ServerManager.html      |   315 +-
 .../SplitLogManager.ResubmitDirective.html      |    10 +-
 .../hbase/master/SplitLogManager.Task.html      |    32 +-
 .../hbase/master/SplitLogManager.TaskBatch.html |    14 +-
 .../SplitLogManager.TerminationStatus.html      |    18 +-
 .../master/SplitLogManager.TimeoutMonitor.html  |     8 +-
 .../hadoop/hbase/master/SplitLogManager.html    |    20 +-
 .../hbase/master/TableNamespaceManager.html     |     2 +-
 .../hbase/master/balancer/BaseLoadBalancer.html |    42 +-
 .../master/balancer/RegionLocationFinder.html   |     2 +-
 .../master/balancer/SimpleLoadBalancer.html     |     6 +-
 .../StochasticLoadBalancer.CostFunction.html    |     6 +-
 .../master/class-use/AssignmentManager.html     |    18 +-
 .../hadoop/hbase/master/class-use/HMaster.html  |    52 +-
 .../hbase/master/class-use/LoadBalancer.html    |     4 +-
 .../hbase/master/class-use/MasterServices.html  |   157 +-
 .../hbase/master/class-use/MetricsMaster.html   |    39 +-
 .../master/class-use/MetricsMasterWrapper.html  |    16 +-
 .../hbase/master/class-use/RackManager.html     |     4 +-
 .../hbase/master/class-use/RegionPlan.html      |    40 +-
 .../master/class-use/RegionState.State.html     |    14 +-
 .../master/class-use/RegionStateStore.html      |     4 +-
 .../hbase/master/class-use/ServerListener.html  |     8 +-
 .../hbase/master/class-use/ServerManager.html   |     4 +-
 .../SplitLogManager.ResubmitDirective.html      |    12 +-
 .../master/class-use/SplitLogManager.Task.html  |    12 +-
 .../master/class-use/TableNamespaceManager.html |    16 +-
 .../master/class-use/TableStateManager.html     |     8 +-
 .../master/cleaner/BaseLogCleanerDelegate.html  |     2 +-
 .../master/cleaner/FileCleanerDelegate.html     |     2 +-
 .../class-use/BaseFileCleanerDelegate.html      |    29 +-
 .../class-use/BaseLogCleanerDelegate.html       |    27 +-
 .../cleaner/class-use/FileCleanerDelegate.html  |    29 +-
 .../hbase/master/cleaner/package-use.html       |    41 +-
 .../class-use/NormalizationPlan.PlanType.html   |     4 +-
 .../hadoop/hbase/master/package-summary.html    |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     4 +-
 .../apache/hadoop/hbase/master/package-use.html |    69 +-
 .../procedure/CloneSnapshotProcedure.html       |    46 +-
 .../master/procedure/CreateTableProcedure.html  |     8 +-
 .../master/procedure/EnableTableProcedure.html  |     2 +-
 .../MasterProcedureScheduler.FairQueue.html     |    30 +-
 .../MasterProcedureScheduler.Queue.html         |    40 +-
 .../MasterProcedureScheduler.ServerQueue.html   |     6 +-
 ...edureScheduler.ServerQueueKeyComparator.html |     6 +-
 .../MasterProcedureScheduler.TableQueue.html    |    10 +-
 ...cedureScheduler.TableQueueKeyComparator.html |     6 +-
 .../procedure/MasterProcedureScheduler.html     |   159 +-
 .../procedure/RestoreSnapshotProcedure.html     |    48 +-
 .../procedure/class-use/MasterProcedureEnv.html |   146 +-
 ...rProcedureInterface.ServerOperationType.html |     8 +-
 ...leProcedureInterface.TableOperationType.html |    50 +-
 .../hbase/master/procedure/package-tree.html    |     4 +-
 .../hbase/master/procedure/package-use.html     |    19 -
 .../SnapshotFileCache.RefreshCacheTask.html     |     6 +-
 ...SnapshotFileCache.SnapshotDirectoryInfo.html |    12 +-
 .../master/snapshot/SnapshotFileCache.html      |    20 +-
 .../hbase/master/snapshot/SnapshotManager.html  |    82 +-
 .../hbase/mob/DefaultMobStoreCompactor.html     |    20 +-
 .../hbase/mob/DefaultMobStoreFlusher.html       |    31 +-
 .../org/apache/hadoop/hbase/mob/MobUtils.html   |   285 +-
 .../hadoop/hbase/mob/class-use/MobFileName.html |    12 +-
 ...obCompactionRequest.CompactionPartition.html |   120 +-
 ...CompactionRequest.CompactionPartitionId.html |    36 +-
 .../PartitionedMobCompactionRequest.html        |    52 +-
 .../compactions/PartitionedMobCompactor.html    |   111 +-
 ...obCompactionRequest.CompactionPartition.html |     9 +-
 .../PartitionedMobCompactionRequest.html        |     3 +-
 .../hbase/mob/compactions/package-frame.html    |     3 +
 .../hbase/mob/compactions/package-summary.html  |    16 +
 .../hbase/mob/compactions/package-tree.html     |     3 +
 .../hbase/mob/compactions/package-use.html      |    10 +
 ...askMonitor.PassthroughInvocationHandler.html |     8 +-
 .../TaskMonitor.TaskAndWeakRefPair.html         |    12 +-
 .../hadoop/hbase/monitoring/TaskMonitor.html    |    29 +-
 .../class-use/MonitoredRPCHandler.html          |    40 +-
 .../monitoring/class-use/MonitoredTask.html     |    51 +-
 .../TaskMonitor.TaskAndWeakRefPair.html         |    42 +-
 .../hadoop/hbase/monitoring/package-use.html    |     6 +
 .../org/apache/hadoop/hbase/nio/ByteBuff.html   |     4 +-
 .../hadoop/hbase/nio/class-use/ByteBuff.html    |    78 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../org/apache/hadoop/hbase/package-use.html    |   251 +-
 .../hbase/procedure/MasterProcedureManager.html |     2 +-
 .../procedure/MasterProcedureManagerHost.html   |     8 +-
 .../procedure/ProcedureCoordinatorRpcs.html     |     2 +-
 .../procedure/RegionServerProcedureManager.html |     2 +-
 .../hadoop/hbase/procedure/Subprocedure.html    |     2 +-
 .../hbase/procedure/SubprocedureFactory.html    |     6 +-
 .../procedure/ZKProcedureCoordinatorRpcs.html   |   585 -
 .../hbase/procedure/ZKProcedureMemberRpcs.html  |     4 +-
 .../class-use/MasterProcedureManager.html       |    29 +-
 .../hbase/procedure/class-use/Procedure.html    |     8 +-
 .../class-use/ProcedureCoordinator.html         |    30 +-
 .../class-use/ProcedureCoordinatorRpcs.html     |    32 +-
 .../procedure/class-use/ProcedureManager.html   |    49 +
 .../procedure/class-use/ProcedureMember.html    |    43 +-
 .../class-use/ProcedureMemberRpcs.html          |    58 +-
 .../class-use/RegionServerProcedureManager.html |    26 +-
 .../hbase/procedure/class-use/Subprocedure.html |    48 +-
 .../class-use/SubprocedureFactory.html          |    28 +-
 .../class-use/ZKProcedureCoordinatorRpcs.html   |   125 -
 .../procedure/class-use/ZKProcedureUtil.html    |     4 +-
 .../hadoop/hbase/procedure/package-frame.html   |     2 +-
 .../hadoop/hbase/procedure/package-summary.html |     2 +-
 .../hadoop/hbase/procedure/package-tree.html    |     2 +-
 .../hadoop/hbase/procedure/package-use.html     |   113 +-
 .../procedure2/AbstractProcedureScheduler.html  |   123 +-
 .../ProcedureExecutor.DelayedProcedure.html     |     4 +-
 .../ProcedureExecutor.InlineChore.html          |    12 +-
 .../ProcedureExecutor.StoppableThread.html      |     8 +-
 ...ProcedureExecutor.TimeoutExecutorThread.html |    24 +-
 .../ProcedureExecutor.WorkerMonitor.html        |    32 +-
 .../ProcedureExecutor.WorkerThread.html         |    14 +-
 .../hbase/procedure2/ProcedureExecutor.html     |   158 +-
 .../hbase/procedure2/ProcedureScheduler.html    |     8 +-
 .../procedure2/SimpleProcedureScheduler.html    |    44 +-
 .../hbase/procedure2/class-use/Procedure.html   |    88 +-
 .../procedure2/class-use/ProcedureEvent.html    |    34 +-
 .../procedure2/class-use/ProcedureExecutor.html |    38 +-
 .../class-use/ProcedureSuspendedException.html  |     8 +-
 .../class-use/ProcedureYieldException.html      |     8 +-
 .../class-use/RemoteProcedureException.html     |     8 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hadoop/hbase/procedure2/package-use.html    |    21 -
 .../procedure2/store/ProcedureStoreBase.html    |    14 +-
 .../ProcedureStore.ProcedureLoader.html         |     8 +-
 .../ProcedureStore.ProcedureStoreListener.html  |    16 +-
 .../wal/ProcedureWALFormatReader.Entry.html     |    38 +-
 .../ProcedureWALFormatReader.EntryIterator.html |    20 +-
 ...rocedureWALFormatReader.WalProcedureMap.html |    66 +-
 .../store/wal/ProcedureWALFormatReader.html     |    29 +-
 .../hadoop/hbase/quotas/QuotaCache.Fetcher.html |     6 +-
 .../quotas/QuotaCache.QuotaRefresherChore.html  |    16 +-
 .../apache/hadoop/hbase/quotas/QuotaCache.html  |    38 +-
 .../hbase/quotas/class-use/QuotaFilter.html     |     8 +-
 .../hbase/quotas/class-use/QuotaLimiter.html    |     8 +-
 .../hbase/quotas/class-use/QuotaRetriever.html  |     8 +-
 .../hbase/quotas/class-use/QuotaSettings.html   |     8 +-
 .../hbase/quotas/class-use/QuotaState.html      |     8 +-
 .../hbase/quotas/class-use/QuotaType.html       |     4 +-
 .../quotas/class-use/ThrottlingException.html   |    22 +-
 .../hadoop/hbase/quotas/package-tree.html       |     4 +-
 .../hbase/regionserver/AbstractMemStore.html    |   148 +-
 .../AnnotationReadingPriorityFunction.html      |    20 +-
 ...ompactingMemStore.InMemoryFlushRunnable.html |     6 +-
 .../hbase/regionserver/CompactingMemStore.html  |   181 +-
 .../hbase/regionserver/CompactionPipeline.html  |     8 +-
 .../regionserver/DateTieredMultiFileWriter.html |    10 +-
 .../hbase/regionserver/DefaultMemStore.html     |   116 +-
 .../hbase/regionserver/DefaultStoreFlusher.html |     2 +-
 .../hadoop/hbase/regionserver/FlushType.html    |     4 +-
 .../hadoop/hbase/regionserver/HMobStore.html    |   141 +-
 .../regionserver/HRegion.BatchOperation.html    |    26 +-
 .../regionserver/HRegion.MutationBatch.html     |    20 +-
 .../regionserver/HRegion.RegionScannerImpl.html |   197 +-
 .../hbase/regionserver/HRegion.ReplayBatch.html |    18 +-
 .../regionserver/HRegion.RowLockContext.html    |    28 +-
 .../hbase/regionserver/HRegion.RowLockImpl.html |    16 +-
 .../hadoop/hbase/regionserver/HRegion.html      |  1170 +-
 .../hbase/regionserver/HRegionFileSystem.html   |    84 +-
 .../HRegionServer.MovedRegionInfo.html          |    16 +-
 .../HRegionServer.MovedRegionsCleaner.html      |    16 +-
 .../HRegionServer.PeriodicMemstoreFlusher.html  |    12 +-
 .../hbase/regionserver/HRegionServer.html       |   482 +-
 .../regionserver/HStore.StoreFlusherImpl.html   |    32 +-
 .../hadoop/hbase/regionserver/HStore.html       |   274 +-
 ...eapMemoryManager.HeapMemoryTuneObserver.html |     4 +-
 .../HeapMemoryManager.HeapMemoryTunerChore.html |    24 +-
 .../HeapMemoryManager.TunerContext.html         |    58 +-
 .../HeapMemoryManager.TunerResult.html          |    20 +-
 .../hbase/regionserver/HeapMemoryManager.html   |    78 +-
 .../regionserver/ImmutableSegment.Type.html     |    10 +-
 .../hbase/regionserver/ImmutableSegment.html    |    91 +-
 .../KeyValueHeap.KVScannerComparator.html       |    12 +-
 .../hadoop/hbase/regionserver/KeyValueHeap.html |    34 +-
 .../hbase/regionserver/KeyValueScanner.html     |    36 +-
 .../hadoop/hbase/regionserver/LogRoller.html    |    28 +-
 .../hadoop/hbase/regionserver/MemStore.html     |    46 +-
 .../MemStoreCompactorSegmentsIterator.html      |    34 +-
 .../MemStoreFlusher.FlushHandler.html           |     6 +-
 .../MemStoreFlusher.FlushQueueEntry.html        |     2 +-
 .../MemStoreFlusher.FlushRegionEntry.html       |    32 +-
 .../MemStoreFlusher.WakeupFlushThread.html      |    10 +-
 .../hbase/regionserver/MemStoreFlusher.html     |    86 +-
 .../MemStoreMergerSegmentsIterator.html         |    90 +-
 .../hbase/regionserver/MemStoreScanner.html     |   748 -
 .../regionserver/MemStoreSegmentsIterator.html  |    35 +-
 .../hbase/regionserver/MemStoreSnapshot.html    |    60 +-
 .../hadoop/hbase/regionserver/MemstoreSize.html |    83 +-
 .../MiniBatchOperationInProgress.html           |     4 +-
 .../hbase/regionserver/MutableSegment.html      |     4 +-
 .../regionserver/NoLimitScannerContext.html     |    20 +-
 .../regionserver/NonLazyKeyValueScanner.html    |     2 +-
 .../RSRpcServices.RegionScannerHolder.html      |    39 +-
 .../RSRpcServices.ScannerListener.html          |     8 +-
 .../hbase/regionserver/RSRpcServices.html       |   172 +-
 .../regionserver/Region.FlushResult.Result.html |     4 +-
 .../hbase/regionserver/Region.Operation.html    |     4 +-
 ...ionCoprocessorHost.CoprocessorOperation.html |    12 +-
 ...RegionCoprocessorHost.EndpointOperation.html |    10 +-
 ...ocessorHost.EndpointOperationWithResult.html |    10 +-
 ...RegionCoprocessorHost.RegionEnvironment.html |    24 +-
 .../RegionCoprocessorHost.RegionOperation.html  |    12 +-
 ...processorHost.RegionOperationWithResult.html |    12 +-
 ...processorHost.TableCoprocessorAttribute.html |    20 +-
 .../regionserver/RegionCoprocessorHost.html     |   188 +-
 .../regionserver/RegionServerAccounting.html    |   127 +-
 .../regionserver/RegionServerServices.html      |    30 +-
 .../hbase/regionserver/RegionSplitPolicy.html   |     4 +-
 .../hbase/regionserver/ReplicationService.html  |     4 +-
 .../regionserver/ScannerContext.Builder.html    |    34 +-
 .../ScannerContext.LimitFields.html             |   165 +-
 .../regionserver/ScannerContext.LimitScope.html |    16 +-
 .../regionserver/ScannerContext.NextState.html  |    32 +-
 .../hbase/regionserver/ScannerContext.html      |   171 +-
 ...eBulkLoadManager.SecureBulkLoadListener.html |    22 +-
 .../regionserver/SecureBulkLoadManager.html     |    12 +-
 .../hadoop/hbase/regionserver/Segment.html      |   142 +-
 .../hbase/regionserver/SegmentScanner.html      |    84 +-
 .../hbase/regionserver/ServerNonceManager.html  |    20 +-
 .../hadoop/hbase/regionserver/Shipper.html      |     2 +-
 .../hbase/regionserver/ShipperListener.html     |     4 +-
 .../regionserver/SimpleRpcSchedulerFactory.html |     4 +-
 .../SplitLogWorker.TaskExecutor.Status.html     |     4 +-
 .../hbase/regionserver/SplitLogWorker.html      |     4 +-
 .../apache/hadoop/hbase/regionserver/Store.html |   122 +-
 .../hbase/regionserver/StoreFileReader.html     |     2 +-
 .../hbase/regionserver/StoreFileScanner.html    |     4 +-
 .../regionserver/StoreFileWriter.Builder.html   |    61 +-
 .../hbase/regionserver/StoreFileWriter.html     |    56 +-
 .../hadoop/hbase/regionserver/StoreFlusher.html |     8 +-
 .../hadoop/hbase/regionserver/StoreScanner.html |    28 +-
 ...eFileManager.CompactionOrFlushMergeCopy.html |    36 +-
 ...ger.KeyBeforeConcatenatedLists.Iterator.html |    10 +-
 ...eFileManager.KeyBeforeConcatenatedLists.html |     6 +-
 .../StripeStoreFileManager.State.html           |     6 +-
 .../regionserver/StripeStoreFileManager.html    |   102 +-
 .../hbase/regionserver/StripeStoreFlusher.html  |     2 +-
 .../hbase/regionserver/class-use/BloomType.html |    46 +-
 .../hbase/regionserver/class-use/CellSet.html   |    12 +-
 .../class-use/ChangedReadersObserver.html       |     8 +-
 .../class-use/CompactedHFilesDischarger.html    |     4 +-
 .../class-use/FlushRequestListener.html         |    16 +-
 .../hbase/regionserver/class-use/FlushType.html |    20 +-
 .../hbase/regionserver/class-use/HMobStore.html |     8 +-
 .../hbase/regionserver/class-use/HRegion.html   |   100 +-
 .../class-use/HRegionFileSystem.html            |     8 +-
 .../regionserver/class-use/HRegionServer.html   |    36 +-
 .../HeapMemoryManager.TunerContext.html         |     4 +-
 .../HeapMemoryManager.TunerResult.html          |     8 +-
 .../class-use/ImmutableSegment.html             |    11 +-
 .../regionserver/class-use/InternalScanner.html |   276 +-
 .../regionserver/class-use/KeyValueHeap.html    |     8 +-
 .../regionserver/class-use/KeyValueScanner.html |   393 +-
 .../Leases.LeaseStillHeldException.html         |     5 +-
 .../hbase/regionserver/class-use/LogRoller.html |    15 +-
 .../regionserver/class-use/MemStoreScanner.html |   125 -
 .../class-use/MemStoreSnapshot.html             |    23 +-
 .../regionserver/class-use/MemstoreSize.html    |    92 +-
 .../regionserver/class-use/MetricsRegion.html   |     4 +-
 .../class-use/MiniBatchOperationInProgress.html |    22 +-
 .../class-use/NoSuchColumnFamilyException.html  |     8 +-
 .../class-use/NonLazyKeyValueScanner.html       |    16 +-
 .../regionserver/class-use/OperationStatus.html |    52 +-
 .../RSRpcServices.RegionScannerHolder.html      |     7 +-
 .../regionserver/class-use/RSRpcServices.html   |    12 +-
 .../class-use/Region.BulkLoadListener.html      |    22 +-
 .../class-use/Region.FlushResult.Result.html    |     4 +-
 .../class-use/Region.FlushResult.html           |     8 +-
 .../class-use/Region.Operation.html             |    22 +-
 .../regionserver/class-use/Region.RowLock.html  |    18 +-
 .../hbase/regionserver/class-use/Region.html    |   143 +-
 .../class-use/RegionCoprocessorHost.html        |     6 +-
 .../regionserver/class-use/RegionScanner.html   |    56 +-
 .../class-use/RegionServerServices.html         |   158 +-
 .../class-use/RegionServicesForStores.html      |     4 +-
 .../regionserver/class-use/RowProcessor.html    |    26 +-
 .../hbase/regionserver/class-use/ScanInfo.html  |     4 +-
 .../hbase/regionserver/class-use/ScanType.html  |    63 +-
 .../class-use/ScannerContext.Builder.html       |     5 +-
 .../class-use/ScannerContext.LimitScope.html    |    13 +-
 .../regionserver/class-use/ScannerContext.html  |    34 +-
 .../hbase/regionserver/class-use/Segment.html   |    38 +-
 .../regionserver/class-use/SegmentScanner.html  |    44 +-
 .../hbase/regionserver/class-use/Shipper.html   |    26 +-
 .../regionserver/class-use/ShipperListener.html |    45 +-
 .../class-use/SplitLogWorker.TaskExecutor.html  |    12 +-
 .../regionserver/class-use/SplitLogWorker.html  |    12 +-
 .../hbase/regionserver/class-use/Store.html     |   295 +-
 .../class-use/StoreConfigInformation.html       |     8 +-
 .../hbase/regionserver/class-use/StoreFile.html |   418 +-
 .../regionserver/class-use/StoreFileReader.html |    64 +-
 .../class-use/StoreFileScanner.html             |     4 +-
 .../regionserver/class-use/StoreFileWriter.html |    90 +-
 .../class-use/StoreFlushContext.html            |     4 +-
 .../regionserver/class-use/StoreScanner.html    |     4 +-
 .../class-use/TimeRangeTracker.html             |    27 +-
 .../AbstractMultiOutputCompactor.html           |     2 +-
 ...CompactionRequest.DisplayCompactionType.html |     4 +-
 .../compactions/Compactor.CellSinkFactory.html  |     4 +-
 .../compactions/Compactor.FileDetails.html      |    18 +-
 .../Compactor.InternalScannerFactory.html       |     6 +-
 .../regionserver/compactions/Compactor.html     |    94 +-
 .../compactions/DateTieredCompactor.html        |     2 +-
 .../compactions/DefaultCompactor.html           |     2 +-
 .../compactions/StripeCompactor.html            |     2 +-
 .../class-use/CompactionContext.html            |    52 +-
 .../class-use/CompactionProgress.html           |     8 +-
 .../class-use/CompactionRequest.html            |   104 +-
 .../class-use/Compactor.FileDetails.html        |     4 +-
 .../hbase/regionserver/package-frame.html       |     3 +-
 .../hbase/regionserver/package-summary.html     |   184 +-
 .../hadoop/hbase/regionserver/package-tree.html |    28 +-
 .../hadoop/hbase/regionserver/package-use.html  |   164 +-
 .../CompactionScanQueryMatcher.html             |    60 +-
 .../DeleteTracker.DeleteCompare.html            |    18 +-
 .../DeleteTracker.DeleteResult.html             |    16 +-
 .../querymatcher/DeleteTracker.html             |    24 +-
 .../DropDeletesCompactionScanQueryMatcher.html  |     4 +-
 .../querymatcher/LegacyScanQueryMatcher.html    |    66 +-
 .../MajorCompactionScanQueryMatcher.html        |     4 +-
 .../MinorCompactionScanQueryMatcher.html        |     4 +-
 .../NormalUserScanQueryMatcher.html             |    44 +-
 .../querymatcher/ScanDeleteTracker.html         |    91 +-
 .../ScanQueryMatcher.MatchCode.html             |     4 +-
 .../StripeCompactionScanQueryMatcher.html       |     4 +-
 .../querymatcher/class-use/ColumnCount.html     |    16 +-
 .../class-use/DeleteTracker.DeleteResult.html   |     8 +-
 .../querymatcher/class-use/DeleteTracker.html   |    14 +-
 .../class-use/ScanQueryMatcher.MatchCode.html   |    52 +-
 .../class-use/ScanQueryMatcher.html             |    18 +-
 .../regionserver/querymatcher/package-tree.html |     6 +-
 .../PressureAwareThroughputController.html      |    24 +-
 .../class-use/ThroughputController.html         |    53 +-
 .../hbase/regionserver/wal/AbstractFSWAL.html   |   172 +-
 .../hbase/regionserver/wal/AsyncFSWAL.html      |    14 +-
 .../wal/FSHLog.SafePointZigZagLatch.html        |     4 +-
 .../hadoop/hbase/regionserver/wal/FSHLog.html   |     6 +-
 .../regionserver/wal/SequenceIdAccounting.html  |     8 +-
 .../hbase/regionserver/wal/SyncFuture.html      |     4 +-
 .../wal/class-use/CompressionContext.html       |    10 +-
 .../regionserver/wal/class-use/FSHLog.html      |    22 +
 .../wal/class-use/FailedLogCloseException.html  |     8 +-
 .../ProtobufLogReader.WALHdrContext.html        |     4 +-
 .../regionserver/wal/class-use/SyncFuture.html  |     8 +-
 .../wal/class-use/WALActionsListener.html       |    36 +-
 .../wal/class-use/WALCoprocessorHost.html       |     4 +-
 .../regionserver/wal/class-use/WALEdit.html     |   146 +-
 .../hbase/regionserver/wal/package-use.html     |    37 +-
 ...nTrackerZKImpl.OtherRegionServerWatcher.html |    12 +-
 .../ReplicationTrackerZKImpl.PeersWatcher.html  |     8 +-
 .../replication/ReplicationTrackerZKImpl.html   |    22 +-
 .../class-use/BulkLoadCellFilter.html           |     8 +-
 .../class-use/ReplicationEndpoint.Context.html  |     4 +-
 .../ReplicationEndpoint.ReplicateContext.html   |     8 +-
 .../class-use/ReplicationEndpoint.html          |    22 +-
 .../class-use/ReplicationException.html         |   176 +-
 .../class-use/ReplicationListener.html          |    12 +-
 .../class-use/ReplicationPeer.PeerState.html    |     8 +-
 .../replication/class-use/ReplicationPeer.html  |    14 +-
 .../class-use/ReplicationPeerConfig.html        |    72 +-
 .../ReplicationPeerConfigListener.html          |     4 +-
 .../replication/class-use/ReplicationPeers.html |    14 +-
 .../class-use/ReplicationQueues.html            |    14 +-
 ...erClusterReplicationEndpoint.Replicator.html |    10 +-
 .../HBaseInterClusterReplicationEndpoint.html   |    58 +-
 ...ionEndpoint.RegionReplicaReplayCallable.html |    12 +-
 ...ReplicationEndpoint.RetryingRpcCallable.html |    12 +-
 .../regionserver/ReplicationLoad.html           |    10 +-
 .../regionserver/ReplicationSink.html           |    24 +-
 .../ReplicationSource.LogsComparator.html       |     8 +-
 .../regionserver/ReplicationSource.html         |    92 +-
 ...ourceManager.AdoptAbandonedQueuesWorker.html |     6 +-
 ...icationSourceManager.NodeFailoverWorker.html |    16 +-
 .../regionserver/ReplicationSourceManager.html  |    66 +-
 .../class-use/MetricsReplicationSourceImpl.html |     4 +-
 .../regionserver/class-use/MetricsSource.html   |    12 +-
 .../class-use/ReplicationSourceManager.html     |     8 +-
 .../replication/regionserver/package-tree.html  |     6 +-
 .../apache/hadoop/hbase/rest/RESTServer.html    |     2 +-
 .../org/apache/hadoop/hbase/rest/RowSpec.html   |    68 +-
 .../rest/class-use/ProtobufMessageHandler.html  |    22 +-
 .../hbase/rest/class-use/TableResource.html     |    14 +-
 .../hbase/rest/class-use/VersionResource.html   |     8 +-
 .../hbase/rest/client/RemoteHTable.Scanner.html |    29 +-
 .../hadoop/hbase/rest/client/RemoteHTable.html  |   118 +-
 .../hbase/rest/client/class-use/Client.html     |     4 +-
 .../hadoop/hbase/rsgroup/RSGroupAdmin.html      |   131 +-
 .../hbase/rsgroup/RSGroupAdminClient.html       |   132 +-
 .../hbase/rsgroup/RSGroupAdminEndpoint.html     |  5202 +--
 .../hbase/rsgroup/RSGroupAdminServer.html       |   272 +-
 .../hbase/rsgroup/RSGroupBasedLoadBalancer.html |   156 +-
 .../hadoop/hbase/rsgroup/RSGroupInfo.html       |    92 +-
 .../hbase/rsgroup/RSGroupInfoManager.html       |   118 +-
 ...oupInfoManagerImpl.DefaultServerUpdater.html |   395 -
 ...oupInfoManagerImpl.RSGroupStartupWorker.html |    99 +-
 .../hbase/rsgroup/RSGroupInfoManagerImpl.html   |   440 +-
 .../hadoop/hbase/rsgroup/RSGroupSerDe.html      |   360 -
 .../hbase/rsgroup/RSGroupableBalancer.html      |    49 +-
 .../hbase/rsgroup/class-use/RSGroupInfo.html    |    80 +-
 .../rsgroup/class-use/RSGroupInfoManager.html   |    30 +-
 ...oupInfoManagerImpl.DefaultServerUpdater.html |   165 -
 .../class-use/RSGroupInfoManagerImpl.html       |    79 +-
 .../hbase/rsgroup/class-use/RSGroupSerDe.html   |   165 -
 .../hadoop/hbase/rsgroup/package-frame.html     |     4 +-
 .../hadoop/hbase/rsgroup/package-summary.html   |    18 +-
 .../hadoop/hbase/rsgroup/package-tree.html      |    11 +-
 .../hadoop/hbase/rsgroup/package-use.html       |    14 +-
 .../hadoop/hbase/security/AuthMethod.html       |     4 +-
 .../hbase/security/User.TestingGroups.html      |     8 +-
 .../security/access/AccessControlClient.html    |   169 +-
 .../access/AccessControlFilter.Strategy.html    |     4 +-
 .../security/access/AccessControlLists.html     |   156 +-
 .../security/access/AccessControlUtil.html      |    54 +-
 .../access/AccessController.OpType.html         |    30 +-
 .../hbase/security/access/AccessController.html |   858 +-
 .../TableAuthManager.PermissionCache.html       |     4 +-
 .../hbase/security/access/TableAuthManager.html |     8 +-
 .../hbase/security/access/TablePermission.html  |    27 +-
 .../hbase/security/access/UserPermission.html   |     2 +-
 .../security/access/ZKPermissionWatcher.html    |    30 +-
 .../access/class-use/Permission.Action.html     |   112 +-
 .../security/access/class-use/Permission.html   |    48 +-
 .../access/class-use/TableAuthManager.html      |     8 +-
 .../access/class-use/TablePermission.html       |    13 +
 .../access/class-use/UserPermission.html        |    17 +-
 .../hbase/security/access/package-tree.html     |    20 +-
 .../hadoop/hbase/security/class-use/User.html   |    82 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 ...icationTokenSecretManager.LeaderElector.html |    18 +-
 .../token/AuthenticationTokenSecretManager.html |    44 +-
 .../AuthenticationTokenSecretManager.html       |     4 +-
 ...DeleteVersionVisibilityExpressionFilter.html |    12 +-
 ...ibilityController.VisibilityReplication.html |    42 +-
 .../visibility/VisibilityController.html        |   241 +-
 .../visibility/VisibilityLabelsCache.html       |    16 +-
 .../visibility/VisibilityScanDeleteTracker.html |    22 +-
 .../visibility/class-use/Authorizations.html    |    32 +-
 .../visibility/class-use/CellVisibility.html    |    16 +-
 .../class-use/VisibilityExpEvaluator.html       |     8 +-
 .../class-use/VisibilityLabelService.html       |     6 +-
 .../class-use/VisibilityLabelsCache.html        |     6 +-
 .../hbase/security/visibility/package-tree.html |    16 +-
 .../hadoop/hbase/snapshot/CreateSnapshot.html   |     4 +-
 ...hotInputFormat.ExportSnapshotInputSplit.html |    20 +-
 ...tInputFormat.ExportSnapshotRecordReader.html |    24 +-
 ...xportSnapshot.ExportSnapshotInputFormat.html |     8 +-
 .../hadoop/hbase/snapshot/ExportSnapshot.html   |    50 +-
 ...estoreSnapshotHelper.RestoreMetaChanges.html |    38 +-
 .../hbase/snapshot/RestoreSnapshotHelper.html   |    68 +-
 .../hadoop/hbase/snapshot/SnapshotInfo.html     |    10 +-
 .../hadoop/hbase/snapshot/SnapshotManifest.html |    26 +-
 .../hbase/snapshot/SnapshotManifestV1.html      |     4 +-
 .../hbase/snapshot/SnapshotManifestV2.html      |     4 +-
 .../hbase/snapshot/SnapshotReferenceUtil.html   |     6 +-
 .../snapshot/class-use/ExportSnapshot.html      |    42 +-
 .../class-use/HBaseSnapshotException.html       |     8 +-
 .../class-use/RestoreSnapshotException.html     |    54 +-
 .../class-use/SnapshotCreationException.html    |    40 +-
 .../class-use/UnknownSnapshotException.html     |     8 +-
 .../hadoop/hbase/snapshot/package-use.html      |    27 +-
 .../thrift/ThriftServerRunner.HBaseHandler.html |   142 +-
 ...ThriftServerRunner.ResultScannerWrapper.html |    12 +-
 .../hadoop/hbase/thrift/ThriftServerRunner.html |    10 +-
 .../ThriftServerRunner.HBaseHandler.html        |     4 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../thrift2/ThriftHBaseServiceHandler.html      |   116 +-
 .../hadoop/hbase/thrift2/ThriftUtilities.html   |    40 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   270 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   108 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    54 +-
 .../hadoop/hbase/tool/WriteSinkCoprocessor.html |    35 +-
 .../apache/hadoop/hbase/tool/package-tree.html  |     6 +-
 ...bstractHBaseTool.OptionsOrderComparator.html |     6 +-
 .../hadoop/hbase/util/AbstractHBaseTool.html    |   146 +-
 .../hbase/util/CollectionBackedScanner.html     |     4 +-
 .../CollectionUtils.IOExceptionSupplier.html    |     4 +-
 .../hadoop/hbase/util/CollectionUtils.html      |    24 +-
 .../util/ConnectionCache.ConnectionInfo.html    |    18 +-
 .../hadoop/hbase/util/ConnectionCache.html      |    34 +-
 .../hadoop/hbase/util/EncryptionTest.html       |    10 +-
 .../apache/hadoop/hbase/util/FSHDFSUtils.html   |     2 +-
 .../apache/hadoop/hbase/util/FSMapRUtils.html   |     2 +-
 .../hadoop/hbase/util/FSTableDescriptors.html   |    78 +-
 .../org/apache/hadoop/hbase/util/FSUtils.html   |    14 +-
 ...BaseFsck.CheckRegionConsistencyWorkItem.html |    10 +-
 .../HBaseFsck.ErrorReporter.ERROR_CODE.html     |   150 +-
 .../hbase/util/HBaseFsck.ErrorReporter.html     |    30 +-
 .../hbase/util/HBaseFsck.FileLockCallable.html  |    10 +-
 .../hbase/util/HBaseFsck.HBaseFsckTool.html     |     6 +-
 .../hadoop/hbase/util/HBaseFsck.HbckInfo.html   |    56 +-
 .../hadoop/hbase/util/HBaseFsck.HdfsEntry.html  |    14 +-
 .../hadoop/hbase/util/HBaseFsck.MetaEntry.html  |    18 +-
 .../hbase/util/HBaseFsck.OnlineEntry.html       |    10 +-
 .../util/HBaseFsck.PrintingErrorReporter.html   |    42 +-
 .../HBaseFsck.RegionBoundariesInformation.html  |    16 +-
 .../HBaseFsck.TableInfo.HDFSIntegrityFixer.html |    42 +-
 ...aseFsck.TableInfo.IntegrityFixSuggester.html |    49 +-
 .../hadoop/hbase/util/HBaseFsck.TableInfo.html  |    38 +-
 .../hbase/util/HBaseFsck.WorkItemHdfsDir.html   |    12 +-
 .../util/HBaseFsck.WorkItemHdfsRegionInfo.html  |    12 +-
 .../util/HBaseFsck.WorkItemOverlapMerge.html    |    10 +-
 .../hbase/util/HBaseFsck.WorkItemRegion.html    |    16 +-
 .../org/apache/hadoop/hbase/util/HBaseFsck.html |   399 +-
 .../hadoop/hbase/util/HBaseFsckRepair.html      |    24 +-
 .../org/apache/hadoop/hbase/util/IdLock.html    |     8 +-
 .../hadoop/hbase/util/IdReadWriteLock.html      |   107 +-
 .../hadoop/hbase/util/ImmutableByteArray.html   |     4 +-
 .../hadoop/hbase/util/ModifyRegionUtils.html    |     8 +-
 .../hadoop/hbase/util/MunkresAssignment.html    |    14 +-
 .../apache/hadoop/hbase/util/ObjectIntPair.html |     4 +-
 .../org/apache/hadoop/hbase/util/Order.html     |     4 +-
 .../apache/hadoop/hbase/util/OrderedBytes.html  |     2 +-
 .../hadoop/hbase/util/PoolMap.PoolType.html     |     4 +-
 .../apache/hadoop/hbase/util/RegionMover.html   |    20 +-
 .../org/apache/hadoop/hbase/util/Sleeper.html   |     4 +-
 .../hadoop/hbase/util/SortedCopyOnWriteSet.html |     4 +-
 .../util/WeakObjectPool.ObjectFactory.html      |   237 -
 .../util/WeakObjectPool.ObjectReference.html    |   299 -
 .../hadoop/hbase/util/WeakObjectPool.html       |   274 +-
 .../org/apache/hadoop/hbase/util/Writables.html |     4 +-
 .../hbase/util/class-use/AbstractHBaseTool.html |    52 +
 .../hadoop/hbase/util/class-use/ByteRange.html  |   134 +-
 .../hadoop/hbase/util/class-use/Bytes.html      |    36 +-
 .../util/class-use/CancelableProgressable.html  |    20 +-
 .../hbase/util/class-use/ChecksumType.html      |    38 +-
 .../util/class-use/HBaseFsck.HbckInfo.html      |    41 +-
 .../hadoop/hbase/util/class-use/Hash.html       |     4 +-
 .../hadoop/hbase/util/class-use/HashKey.html    |    16 +-
 .../hadoop/hbase/util/class-use/IdLock.html     |    22 +
 .../hbase/util/class-use/IdReadWriteLock.html   |    22 -
 .../hadoop/hbase/util/class-use/NonceKey.html   |    22 +-
 .../hbase/util/class-use/ObjectIntPair.html     |    18 +-
 .../hadoop/hbase/util/class-use/Order.html      |    44 +-
 .../hadoop/hbase/util/class-use/Pair.html       |   188 +-
 .../util/class-use/PositionedByteRange.html     |   390 +-
 .../class-use/RetryCounter.RetryConfig.html     |     4 +-
 .../class-use/WeakObjectPool.ObjectFactory.html |   194 -
 .../WeakObjectPool.ObjectReference.html         |   167 -
 .../hbase/util/class-use/WeakObjectPool.html    |     4 -
 .../util/hbck/TableIntegrityErrorHandler.html   |    36 +-
 .../hbck/TableIntegrityErrorHandlerImpl.html    |     7 +
 .../apache/hadoop/hbase/util/package-frame.html |     5 +-
 .../hadoop/hbase/util/package-summary.html      |   141 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    23 +-
 .../apache/hadoop/hbase/util/package-use.html   |   136 +-
 ...dantKVGenerator.ExtendedOffheapKeyValue.html |     4 +-
 .../hadoop/hbase/wal/AbstractFSWALProvider.html |    25 +-
 .../hadoop/hbase/wal/AsyncFSWALProvider.html    |     2 +-
 .../hbase/wal/BoundedGroupingStrategy.html      |    10 +-
 .../wal/DisabledWALProvider.DisabledWAL.html    |    44 +-
 .../hadoop/hbase/wal/DisabledWALProvider.html   |     4 +-
 .../apache/hadoop/hbase/wal/FSHLogProvider.html |     2 +-
 ...oupingProvider.IdentityGroupingStrategy.html |     8 +-
 ...GroupingProvider.RegionGroupingStrategy.html |     8 +-
 .../wal/RegionGroupingProvider.Strategies.html  |    16 +-
 .../hbase/wal/RegionGroupingProvider.html       |    52 +-
 .../apache/hadoop/hbase/wal/WALKey.Version.html |     4 +-
 .../WALSplitter.CorruptedLogFileException.html  |     6 +-
 .../hbase/wal/WALSplitter.EntryBuffers.html     |    24 +-
 ...WALSplitter.LogRecoveredEditsOutputSink.html |    26 +-
 .../wal/WALSplitter.LogReplayOutputSink.html    |    62 +-
 .../hbase/wal/WALSplitter.MutationReplay.html   |    12 +-
 .../hbase/wal/WALSplitter.OutputSink.html       |    54 +-
 .../wal/WALSplitter.PipelineController.html     |    12 +-
 .../wal/WALSplitter.RegionEntryBuffer.html      |    24 +-
 .../wal/WALSplitter.RegionServerWriter.html     |     8 +-
 .../hbase/wal/WALSplitter.SinkWriter.html       |    16 +-
 .../hbase/wal/WALSplitter.WriterAndPath.html    |    10 +-
 .../hbase/wal/WALSplitter.WriterThread.html     |    20 +-
 .../apache/hadoop/hbase/wal/WALSplitter.html    |    62 +-
 .../hadoop/hbase/wal/class-use/WAL.Entry.html   |    60 +-
 .../apache/hadoop/hbase/wal/class-use/WAL.html  |    12 +-
 .../hadoop/hbase/wal/class-use/WALFactory.html  |    12 +-
 .../hadoop/hbase/wal/class-use/WALKey.html      |    66 +-
 .../class-use/WALSplitter.MutationReplay.html   |    10 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 .../hbase/zookeeper/DrainingServerTracker.html  |     8 +-
 .../hbase/zookeeper/RecoverableZooKeeper.html   |     4 +-
 .../hbase/zookeeper/RegionServerTracker.html    |    20 +-
 .../zookeeper/ZKUtil.JaasConfiguration.html     |    22 +-
 .../hbase/zookeeper/ZKUtil.NodeAndData.html     |    16 +-
 .../ZKUtil.ZKUtilOp.CreateAndFailSilent.html    |    12 +-
 .../ZKUtil.ZKUtilOp.DeleteNodeFailSilent.html   |     8 +-
 .../zookeeper/ZKUtil.ZKUtilOp.SetData.html      |    12 +-
 .../hadoop/hbase/zookeeper/ZKUtil.ZKUtilOp.html |    14 +-
 .../apache/hadoop/hbase/zookeeper/ZKUtil.html   |   132 +-
 .../hbase/zookeeper/ZooKeeperWatcher.html       |    68 +-
 .../zookeeper/class-use/ZooKeeperWatcher.html   |    51 +-
 .../lib/class-use/MutableFastCounter.html       |    64 +-
 .../lib/class-use/MutableHistogram.html         |     4 +-
 devapidocs/overview-frame.html                  |     5 +
 devapidocs/overview-summary.html                |   260 +-
 devapidocs/overview-tree.html                   |   393 +-
 devapidocs/package-list                         |     5 +
 devapidocs/serialized-form.html                 |    38 +-
 .../apache/hadoop/hbase/CellUtil.EmptyCell.html |  4803 +-
 .../hadoop/hbase/CellUtil.FirstOnRowCell.html   |  4803 +-
 .../hbase/CellUtil.FirstOnRowColCell.html       |  4803 +-
 .../hbase/CellUtil.FirstOnRowColTSCell.html     |  4803 +-
 .../CellUtil.FirstOnRowDeleteFamilyCell.html    |  4803 +-
 .../hadoop/hbase/CellUtil.LastOnRowCell.html    |  4803 +-
 .../hadoop/hbase/CellUtil.LastOnRowColCell.html |  4803 +-
 .../hadoop/hbase/CellUtil.TagRewriteCell.html   |  4803 +-
 .../org/apache/hadoop/hbase/CellUtil.html       |  4803 +-
 .../ChoreService.ChoreServiceThreadFactory.html |    10 +-
 .../org/apache/hadoop/hbase/ChoreService.html   |    10 +-
 ...bilitySingletonFactory.SingletonStorage.html |     2 +-
 .../hbase/CompatibilitySingletonFactory.html    |     2 +-
 ...poundConfiguration.ImmutableConfWrapper.html |   697 +-
 ...ompoundConfiguration.ImmutableConfigMap.html |   697 +-
 .../hadoop/hbase/CompoundConfiguration.html     |   697 +-
 .../apache/hadoop/hbase/Coprocessor.State.html  |     4 +-
 .../org/apache/hadoop/hbase/Coprocessor.html    |     4 +-
 .../org/apache/hadoop/hbase/ExtendedCell.html   |    15 +-
 .../hadoop/hbase/HBaseInterfaceAudience.html    |    24 +-
 .../apache/hadoop/hbase/HColumnDescriptor.html  |   378 +-
 ...ribution.HostAndWeight.WeightComparator.html |   280 +-
 .../HDFSBlocksDistribution.HostAndWeight.html   |   280 +-
 .../hadoop/hbase/HDFSBlocksDistribution.html    |   280 +-
 .../org/apache/hadoop/hbase/HRegionInfo.html    |     2 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |  3017 +-
 .../HealthChecker.HealthCheckerExitStatus.html  |     2 +-
 .../org/apache/hadoop/hbase/HealthChecker.html  |     2 +-
 .../org/apache/hadoop/hbase/JMXListener.html    |     2 +-
 .../hadoop/hbase/KeyValue.KVComparator.html     |    36 +-
 .../hadoop/hbase/KeyValue.KeyOnlyKeyValue.html  |    36 +-
 .../hadoop/hbase/KeyValue.MetaComparator.html   |    36 +-
 .../hbase/KeyValue.RawBytesComparator.html      |    36 +-
 .../hbase/KeyValue.RowOnlyComparator.html       |    36 +-
 .../hbase/KeyValue.SamePrefixComparator.html    |    36 +-
 .../org/apache/hadoop/hbase/KeyValue.Type.html  |    36 +-
 .../org/apache/hadoop/hbase/KeyValue.html       |    36 +-
 .../org/apache/hadoop/hbase/KeyValueUtil.html   |     2 +-
 .../apache/hadoop/hbase/LocalHBaseCluster.html  |   771 +-
 .../MetaTableAccessor.CloseableVisitor.html     |  4099 +-
 .../MetaTableAccessor.CollectAllVisitor.html    |  4099 +-
 .../MetaTableAccessor.CollectingVisitor.html    |  4099 +-
 .../MetaTableAccessor.DefaultVisitorBase.html   |  4099 +-
 .../hbase/MetaTableAccessor.QueryType.html      |  4099 +-
 .../MetaTableAccessor.TableVisitorBase.html     |  4099 +-
 .../hadoop/hbase/MetaTableAccessor.Visitor.html |  4099 +-
 .../apache/hadoop/hbase/MetaTableAccessor.html  |  4099 +-
 .../hbase/NamespaceDescriptor.Builder.html      |     6 +-
 .../hadoop/hbase/NamespaceDescriptor.html       |     6 +-
 .../org/apache/hadoop/hbase/ServerLoad.html     |     4 +-
 .../org/apache/hadoop/hbase/ServerName.html     |     2 +-
 .../apache/hadoop/hbase/SizeCachedKeyValue.html |     7 +-
 .../hbase/SslRMIClientSocketFactorySecure.html  |     2 +-
 .../hbase/SslRMIServerSocketFactorySecure.html  |     2 +-
 .../org/apache/hadoop/hbase/TableName.html      |     2 +-
 .../org/apache/hadoop/hbase/TagUtil.html        |     8 +-
 .../org/apache/hadoop/hbase/Version.html        |     8 +-
 .../apache/hadoop/hbase/ZKNamespaceManager.html |     2 +-
 .../hadoop/hbase/backup/HFileArchiver.File.html |   454 +-
 .../backup/HFileArchiver.FileConverter.html     |   454 +-
 .../HFileArchiver.FileStatusConverter.html      |   454 +-
 .../backup/HFileArchiver.FileablePath.html      |   454 +-
 .../backup/HFileArchiver.FileableStoreFile.html |   454 +-
 .../hbase/backup/HFileArchiver.StoreToFile.html |   454 +-
 .../hadoop/hbase/backup/HFileArchiver.html      |   454 +-
 .../backup/example/HFileArchiveManager.html     |   199 +-
 .../example/HFileArchiveTableMonitor.html       |     2 +-
 .../hbase/client/AbstractClientScanner.html     |    20 +-
 .../client/AllowPartialScanResultCache.html     |   109 +-
 .../org/apache/hadoop/hbase/client/Append.html  |     2 +-
 .../AsyncClientScanner.OpenScannerResponse.html |   289 +-
 .../hadoop/hbase/client/AsyncClientScanner.html |   289 +-
 .../client/AsyncConnectionConfiguration.html    |   257 +-
 .../hbase/client/AsyncConnectionImpl.html       |   509 +-
 .../hadoop/hbase/client/AsyncProcess.html       |   513 +-
 .../hadoop/hbase/client/AsyncRegistry.html      |    79 +-
 ...stFutureImpl.ReplicaCallIssuingRunnable.html |  2488 +-
 ...yncRequestFutureImpl.ReplicaResultState.html |  2488 +-
 .../client/AsyncRequestFutureImpl.Retry.html    |  2488 +-
 ...tFutureImpl.SingleServerRequestRunnable.html |  2488 +-
 .../hbase/client/AsyncRequestFutureImpl.html    |  2488 +-
 ...erFactory.ScanSingleRegionCallerBuilder.html |   533 +-
 ...allerFactory.SingleRequestCallerBuilder.html |   533 +-
 .../client/AsyncRpcRetryingCallerFactory.html   |   533 +-
 .../AsyncScanSingleRegionRpcRetryingCaller.html |   835 +-
 .../hadoop/hbase/client/AsyncTableImpl.html     |    75 +-
 .../apache/hadoop/hbase/client/BatchErrors.html |    10 +-
 ...ntAsyncPrefetchScanner.PrefetchRunnable.html |   455 +-
 .../client/ClientAsyncPrefetchScanner.html      |   455 +-
 .../hadoop/hbase/client/ClientScanner.html      |  1358 +-
 .../hbase/client/ClientSideRegionScanner.html   |   131 +-
 ...ClusterStatusListener.DeadServerHandler.html |     2 +-
 .../client/ClusterStatusListener.Listener.html  |     2 +-
 ....MulticastListener.ClusterStatusHandler.html |     2 +-
 ...ClusterStatusListener.MulticastListener.html |     2 +-
 .../hbase/client/ClusterStatusListener.html     |     2 +-
 .../hbase/client/CompleteScanResultCache.html   |     2 +-
 .../hadoop/hbase/client/ConnectionFactory.html  |   509 +-
 ...ectionImplementation.MasterServiceState.html |  2007 +-
 ...onImplementation.MasterServiceStubMaker.html |  2007 +-
 ...ntation.ServerErrorTracker.ServerErrors.html |  2007 +-
 ...ectionImplementation.ServerErrorTracker.html |  2007 +-
 .../hbase/client/ConnectionImplementation.html  |  2007 +-
 .../ConnectionUtils.MasterlessConnection.html   |   778 +-
 .../hadoop/hbase/client/ConnectionUtils.html    |   778 +-
 .../org/apache/hadoop/hbase/client/Delete.html  |    10 +-
 .../org/apache/hadoop/hbase/client/Get.html     |   929 +-
 .../client/HBaseAdmin.AbortProcedureFuture.html |  6321 +--
 .../HBaseAdmin.AddColumnFamilyFuture.html       |  6321 +--
 .../client/HBaseAdmin.CreateTableFuture.html    |  6321 +--
 .../HBaseAdmin.DeleteColumnFamilyFuture.html    |  6321 +--
 .../client/HBaseAdmin.DeleteTableFuture.html    |  6321 +--
 .../client/HBaseAdmin.DisableTableFuture.html   |  6321 +--
 .../client/HBaseAdmin.EnableTableFuture.html    |  6321 +--
 .../HBaseAdmin.ModifyColumnFamilyFuture.html    |  6321 +--
 .../client/HBaseAdmin.ModifyTableFuture.html    |  6321 +--
 .../client/HBaseAdmin.NamespaceFuture.html      |  6321 +--
 ...in.ProcedureFuture.WaitForStateCallable.html |  6321 +--
 .../client/HBaseAdmin.ProcedureFuture.html      |  6321 +--
 .../HBaseAdmin.RestoreSnapshotFuture.html       |  6321 +--
 ...n.TableFuture.TableWaitForStateCallable.html |  6321 +--
 .../hbase/client/HBaseAdmin.TableFuture.html    |  6321 +--
 .../client/HBaseAdmin.ThrowableAbortable.html   |  6321 +--
 .../client/HBaseAdmin.TruncateTableFuture.html  |  6321 +--
 .../apache/hadoop/hbase/client/HBaseAdmin.html  |  6321 +--
 .../hadoop/hbase/client/HRegionLocator.html     |     2 +-
 .../org/apache/hadoop/hbase/client/HTable.html  |  2004 +-
 .../HTableMultiplexer.AtomicAverageCounter.html |    14 +-
 .../client/HTableMultiplexer.FlushWorker.html   |    14 +-
 ...ableMultiplexer.HTableMultiplexerStatus.html |    14 +-
 .../client/HTableMultiplexer.PutStatus.html     |    14 +-
 .../hadoop/hbase/client/HTableMultiplexer.html  |    14 +-
 .../hadoop/hbase/client/HTableWrapper.html      |     2 +-
 .../apache/hadoop/hbase/client/Increment.html   |   267 +-
 .../hadoop/hbase/client/MasterCallable.html     |     2 +-
 .../client/MetricsConnection.CallStats.html     |     2 +-
 .../client/MetricsConnection.CallTracker.html   |     2 +-
 .../client/MetricsConnection.NewMetric.html     |     2 +-
 .../client/MetricsConnection.RegionStats.html   |     2 +-
 .../client/MetricsConnection.RunnerStats.html   |     2 +-
 .../hadoop/hbase/client/MetricsConnection.html  |     2 +-
 .../apache/hadoop/hbase/client/MultiAction.html |     2 +-
 .../client/MultiResponse.RegionResult.html      |     2 +-
 .../hadoop/hbase/client/MultiResponse.html      |     2 +-
 .../hbase/client/MultiServerCallable.html       |     2 +-
 .../apache/hadoop/hbase/client/Mutation.html    |   954 +-
 .../hbase/client/OperationWithAttributes.html   |     2 +-
 .../client/PreemptiveFastFailInterceptor.html   |   542 +-
 .../org/apache/hadoop/hbase/client/Put.html     |     6 +-
 .../org/apache/hadoop/hbase/client/Query.html   |     2 +-
 .../org/apache/hadoop/hbase/client/Result.html  |  1786 +-
 ...BoundedCompletionService.QueueingFuture.html |     2 +-
 .../client/ResultBoundedCompletionService.html  |     2 +-
 .../hadoop/hbase/client/ResultScanner.html      |   186 +-
 .../RetriesExhaustedWithDetailsException.html   |     4 +-
 .../hbase/client/ReversedScannerCallable.html   |   292 +-
 .../hbase/client/RpcRetryingCallerFactory.html  |     4 +-
 .../hbase/client/RpcRetryingCallerImpl.html     |    30 +-
 ...eadReplicas.ReplicaRegionServerCallable.html |     2 +-
 .../RpcRetryingCallerWithReadReplicas.html      |     2 +-
 .../org/apache/hadoop/hbase/client/Scan.html    |  1738 +-
 .../hadoop/hbase/client/ScanResultConsumer.html |    63 +-
 .../hadoop/hbase/client/ScannerCallable.html    |   788 +-
 ...ScannerCallableWithReplicas.RetryingRPC.html |     8 +-
 .../client/ScannerCallableWithReplicas.html     |     8 +-
 .../hbase/client/ServerStatisticTracker.html    |    49 +-
 .../hbase/client/TableSnapshotScanner.html      |     2 +-
 .../ZKAsyncRegistry.CuratorEventProcessor.html  |   355 +-
 .../hadoop/hbase/client/ZKAsyncRegistry.html    |   355 +-
 .../ServerStatistics.RegionStatistics.html      |    97 +-
 .../hbase/client/backoff/ServerStatistics.html  |    97 +-
 .../client/coprocessor/AggregationClient.html   |   342 +-
 .../hbase/client/metrics/ScanMetrics.html       |    66 +-
 .../client/metrics/ServerSideScanMetrics.html   |    39 +-
 .../client/replication/ReplicationAdmin.html    |   217 +-
 .../replication/ReplicationSerDeHelper.html     |     4 +-
 .../PrefixTreeSeeker.OffheapPrefixTreeCell.html |     2 +-
 .../PrefixTreeSeeker.OnheapPrefixTreeCell.html  |     2 +-
 .../codec/prefixtree/PrefixTreeSeeker.html      |     2 +-
 .../prefixtree/decode/ArraySearcherPool.html    |    39 +-
 .../codec/prefixtree/decode/PrefixTreeCell.html |     2 +-
 .../prefixtree/encode/EncoderPoolImpl.html      |    37 +-
 .../prefixtree/encode/other/LongEncoder.html    |     2 +-
 .../prefixtree/encode/tokenize/Tokenizer.html   |     2 +-
 .../codec/prefixtree/scanner/CellSearcher.html  |     2 +-
 .../hadoop/hbase/constraint/Constraint.html     |     8 +-
 .../hbase/constraint/ConstraintProcessor.html   |    12 +-
 .../hadoop/hbase/constraint/Constraints.html    |     6 +-
 .../BaseCoordinatedStateManager.html            |    92 +-
 ...ManagerCoordination.CreateAsyncCallback.html |     2 +-
 ...rCoordination.CreateRescanAsyncCallback.html |     2 +-
 ...ManagerCoordination.DeleteAsyncCallback.html |     2 +-
 ...anagerCoordination.GetDataAsyncCallback.html |     2 +-
 ...ManagerCoordination.TaskFinisher.Status.html |     2 +-
 ...plitLogManagerCoordination.TaskFinisher.html |     2 +-
 .../ZKSplitLogManagerCoordination.html          |     2 +-
 .../coordination/ZkCoordinatedStateManager.html |    91 +-
 ...WorkerCoordination.GetDataAsyncCallback.html |     2 +-
 ...ogWorkerCoordination.ZkSplitTaskDetails.html |     2 +-
 .../ZkSplitLogWorkerCoordination.html           |     2 +-
 .../coprocessor/AggregateImplementation.html    |    14 +-
 .../BaseMasterAndRegionObserver.html            |   988 -
 .../hbase/coprocessor/BaseMasterObserver.html   |  1259 -
 .../hbase/coprocessor/BaseRegionObserver.html   |   631 -
 .../coprocessor/BaseRegionServerObserver.html   |   171 -
 .../hbase/coprocessor/BaseWALObserver.html      |   141 -
 .../hbase/coprocessor/BulkLoadObserver.html     |    57 +-
 .../CoprocessorHost.Environment.html            |  1282 +-
 ...essorHost.EnvironmentPriorityComparator.html |  1282 +-
 .../hbase/coprocessor/CoprocessorHost.html      |  1282 +-
 .../hbase/coprocessor/EndpointObserver.html     |    88 +-
 .../hbase/coprocessor/MasterObserver.html       |  3650 +-
 .../coprocessor/MultiRowMutationEndpoint.html   |     4 +-
 .../hbase/coprocessor/ObserverContext.html      |     4 +-
 .../RegionObserver.MutationType.html            |  2803 +-
 .../hbase/coprocessor/RegionObserver.html       |  2803 +-
 .../hbase/coprocessor/RegionServerObserver.html |   246 +-
 .../hadoop/hbase/coprocessor/WALObserver.html   |   102 +-
 .../example/BulkDeleteEndpoint.Column.html      |    10 +-
 .../coprocessor/example/BulkDeleteEndpoint.html |    10 +-
 .../coprocessor/example/RowCountEndpoint.html   |     4 +-
 .../ZooKeeperScanPolicyObserver.ZKWatcher.html  |   129 +-
 .../example/ZooKeeperScanPolicyObserver.html    |   129 +-
 .../ForeignException.ProxyThrowable.html        |   171 +-
 .../hbase/errorhandling/ForeignException.html   |   171 +-
 .../ForeignExceptionDispatcher.html             |   145 +-
 .../executor/ExecutorService.Executor.html      |   541 +-
 .../ExecutorService.ExecutorStatus.html         |   541 +-
 .../ExecutorService.RunningEventStatus.html     |   541 +-
 ...cutorService.TrackingThreadPoolExecutor.html |   541 +-
 .../hadoop/hbase/executor/ExecutorService.html  |   541 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |     2 +-
 .../hadoop/hbase/filter/CompareFilter.html      |     2 +-
 .../hbase/filter/DependentColumnFilter.html     |     2 +-
 .../hbase/filter/FilterList.Operator.html       |     2 +-
 .../apache/hadoop/hbase/filter/FilterList.html  |     2 +-
 .../FirstKeyValueMatchingQualifiersFilter.html  |     4 +-
 .../hbase/filter/FuzzyRowFilter.Order.html      |   869 +-
 .../hbase/filter/FuzzyRowFilter.RowTracker.html |   869 +-
 .../filter/FuzzyRowFilter.SatisfiesCode.html    |   869 +-
 .../hadoop/hbase/filter/FuzzyRowFilter.html     |   869 +-
 .../filter/MultiRowRangeFilter.RowRange.html    |   741 +-
 .../hbase/filter/MultiRowRangeFilter.html       |   741 +-
 .../filter/MultipleColumnPrefixFilter.html      |     2 +-
 .../apache/hadoop/hbase/filter/ParseFilter.html |    14 +-
 .../hadoop/hbase/filter/TimestampsFilter.html   |     6 +-
 .../hadoop/hbase/http/HttpRequestLog.html       |     2 +-
 .../hadoop/hbase/http/HttpServer.Builder.html   |  2429 +-
 .../hbase/http/HttpServer.ListenerInfo.html     |  2429 +-
 ...Server.QuotingInputFilter.RequestQuoter.html |  2429 +-
 .../http/HttpServer.QuotingInputFilter.html     |  2429 +-
 .../hbase/http/HttpServer.StackServlet.html     |  2429 +-
 .../apache/hadoop/hbase/http/HttpServer.html    |  2429 +-
 .../StaticUserWebFilter.StaticUserFilter.html   |     2 +-
 .../http/lib/StaticUserWebFilter.User.html      |     2 +-
 .../hbase/http/lib/StaticUserWebFilter.html     |     2 +-
 .../hadoop/hbase/io/BoundedByteBufferPool.html  |   266 -
 .../hbase/io/ByteBufferListOutputStream.html    |     4 +-
 .../apache/hadoop/hbase/io/ByteBufferPool.html  |     2 +-
 .../hbase/io/FileLink.FileLinkInputStream.html  |     2 +-
 .../org/apache/hadoop/hbase/io/FileLink.html    |     2 +-
 .../org/apache/hadoop/hbase/io/HFileLink.html   |     2 +-
 ...FanOutOneBlockAsyncDFSOutput.AckHandler.html |     2 +-
 .../FanOutOneBlockAsyncDFSOutput.Callback.html  |     2 +-
 .../FanOutOneBlockAsyncDFSOutput.State.html     |     2 +-
 .../asyncfs/FanOutOneBlockAsyncDFSOutput.html   |     2 +-
 ...OneBlockAsyncDFSOutputHelper.BlockAdder.html |   231 +-
 ...BlockAsyncDFSOutputHelper.CancelOnClose.html |   231 +-
 ...ockAsyncDFSOutputHelper.ChecksumCreater.html |   231 +-
 ...ckAsyncDFSOutputHelper.DFSClientAdaptor.html |   231 +-
 ...eBlockAsyncDFSOutputHelper.LeaseManager.html |   231 +-
 ...kAsyncDFSOutputHelper.NameNodeException.html |   231 +-
 ...utOneBlockAsyncDFSOutputHelper.PBHelper.html |   231 +-
 ...DFSOutputHelper.PipelineAckStatusGetter.html |   231 +-
 ...kAsyncDFSOutputHelper.StorageTypeSetter.html |   231 +-
 .../FanOutOneBlockAsyncDFSOutputHelper.html     |   231 +-
 .../hbase/io/crypto/Encryption.Context.html     |    99 +-
 .../hadoop/hbase/io/crypto/Encryption.html      |    99 +-
 ...kEncoder.BufferedDataBlockEncodingState.html |  1190 +-
 ...dDataBlockEncoder.BufferedEncodedSeeker.html |  1190 +-
 ...eredDataBlockEncoder.OffheapDecodedCell.html |  1190 +-
 ...feredDataBlockEncoder.OnheapDecodedCell.html |  1190 +-
 .../BufferedDataBlockEncoder.SeekerState.html   |  1190 +-
 .../io/encoding/BufferedDataBlockEncoder.html   |  1190 +-
 .../RowIndexCodecV1.RowIndexEncodingState.html  |     2 +-
 .../hbase/io/encoding/RowIndexCodecV1.html      |     2 +-
 .../encoding/RowIndexSeekerV1.SeekerState.html  |     2 +-
 .../hbase/io/encoding/RowIndexSeekerV1.html     |     2 +-
 ...BlockCacheUtil.CachedBlockCountsPerFile.html |   171 +-
 .../BlockCacheUtil.CachedBlocksByFile.html      |   171 +-
 .../hadoop/hbase/io/hfile/BlockCacheUtil.html   |   171 +-
 .../hfile/CacheableDeserializerIdManager.html   |    53 +-
 .../CompoundBloomFilterWriter.MetaWriter.html   |     4 +-
 .../CompoundBloomFilterWriter.ReadyChunk.html   |     4 +-
 .../io/hfile/CompoundBloomFilterWriter.html     |     4 +-
 .../hadoop/hbase/io/hfile/FixedFileTrailer.html |   513 +-
 .../io/hfile/HFile.CachingBlockReader.html      |     4 +-
 .../hadoop/hbase/io/hfile/HFile.FileInfo.html   |     4 +-
 .../hadoop/hbase/io/hfile/HFile.Reader.html     |     4 +-
 .../hadoop/hbase/io/hfile/HFile.Writer.html     |     4 +-
 .../hbase/io/hfile/HFile.WriterFactory.html     |     4 +-
 .../org/apache/hadoop/hbase/io/hfile/HFile.html |     4 +-
 .../io/hfile/HFileBlock.BlockIterator.html      |  1313 +-
 .../io/hfile/HFileBlock.BlockWritable.html      |  1313 +-
 .../hbase/io/hfile/HFileBlock.FSReader.html     |  1313 +-
 .../hbase/io/hfile/HFileBlock.FSReaderImpl.html |  1313 +-
 .../hbase/io/hfile/HFileBlock.Header.html       |  1313 +-
 .../io/hfile/HFileBlock.PrefetchedHeader.html   |  1313 +-
 .../hbase/io/hfile/HFileBlock.Writer.State.html |  1313 +-
 .../hbase/io/hfile/HFileBlock.Writer.html       |  1313 +-
 .../hadoop/hbase/io/hfile/HFileBlock.html       |  1313 +-
 .../hfile/HFileBlockIndex.BlockIndexChunk.html  |   511 +-
 .../hfile/HFileBlockIndex.BlockIndexReader.html |   511 +-
 .../hfile/HFileBlockIndex.BlockIndexWriter.html |   511 +-
 ...BlockIndex.ByteArrayKeyBlockIndexReader.html |   511 +-
 ...BlockIndex.CellBasedKeyBlockIndexReader.html |   511 +-
 .../hadoop/hbase/io/hfile/HFileBlockIndex.html  |   511 +-
 ...ilePrettyPrinter.KeyValueStatsCollector.html |    10 +-
 ...ilePrettyPrinter.SimpleReporter.Builder.html |    10 +-
 .../HFilePrettyPrinter.SimpleReporter.html      |    10 +-
 .../hbase/io/hfile/HFilePrettyPrinter.html      |    10 +-
 ...ReaderImpl.BlockIndexNotLoadedException.html |    10 +-
 .../hfile/HFileReaderImpl.EncodedScanner.html   |    10 +-
 .../hfile/HFileReaderImpl.HFileScannerImpl.html |    10 +-
 .../HFileReaderImpl.NotSeekedException.html     |    10 +-
 .../hadoop/hbase/io/hfile/HFileReaderImpl.html  |    10 +-
 .../hadoop/hbase/io/hfile/HFileWriterImpl.html  |     8 +-
 ...emcachedBlockCache.HFileBlockTranscoder.html |     2 +-
 .../hbase/io/hfile/MemcachedBlockCache.html     |     2 +-
 .../hadoop/hbase/io/hfile/PrefetchExecutor.html |   191 +-
 .../io/hfile/bucket/BucketAllocator.Bucket.html |  1168 +-
 .../bucket/BucketAllocator.BucketSizeInfo.html  |  1168 +-
 .../bucket/BucketAllocator.IndexStatistics.html |  1168 +-
 .../hbase/io/hfile/bucket/BucketAllocator.html  |  1168 +-
 .../hfile/bucket/BucketCache.BucketEntry.html   |  2917 +-
 .../bucket/BucketCache.BucketEntryGroup.html    |  2917 +-
 .../hfile/bucket/BucketCache.RAMQueueEntry.html |  2917 +-
 .../bucket/BucketCache.StatisticsThread.html    |  2917 +-
 .../hfile/bucket/BucketCache.WriterThread.html  |  2917 +-
 .../hbase/io/hfile/bucket/BucketCache.html      |  2917 +-
 .../hbase/io/hfile/bucket/FileIOEngine.html     |   368 +-
 .../hbase/io/hfile/bucket/UniqueIndexMap.html   |     4 +-
 ...BidirectionalLRUMap.ByteArrayBackedNode.html |     2 +-
 ...idirectionalLRUMap.ByteBufferBackedNode.html |     2 +-
 .../LRUDictionary.BidirectionalLRUMap.Node.html |     2 +-
 .../util/LRUDictionary.BidirectionalLRUMap.html |     2 +-
 .../hadoop/hbase/io/util/LRUDictionary.html     |     2 +-
 .../hadoop/hbase/io/util/StreamUtils.html       |    12 +-
 .../AbstractRpcClient.AbstractRpcChannel.html   |   295 +-
 ...Client.BlockingRpcChannelImplementation.html |   295 +-
 ...tractRpcClient.RpcChannelImplementation.html |   295 +-
 .../hadoop/hbase/ipc/AbstractRpcClient.html     |   295 +-
 .../hadoop/hbase/ipc/FifoRpcScheduler.html      |     2 +-
 .../org/apache/hadoop/hbase/ipc/IPCUtil.html    |   311 +-
 ...seServerSourceFactoryImpl.SourceStorage.html |    63 +-
 .../MetricsHBaseServerSourceFactoryImpl.html    |    63 +-
 .../hadoop/hbase/ipc/NettyRpcDuplexHandler.html |     2 +-
 .../RpcServer.BlockingServiceAndInterface.html  |  2668 +-
 .../hbase/ipc/RpcServer.ByteBuffByteInput.html  |  2668 +-
 .../apache/hadoop/hbase/ipc/RpcServer.Call.html |  2668 +-
 .../hadoop/hbase/ipc/RpcServer.CallCleanup.html |  2668 +-
 .../hadoop/hbase/ipc/RpcServer.Connection.html  |  2668 +-
 .../org/apache/hadoop/hbase/ipc/RpcServer.html  |  2668 +-
 .../hadoop/hbase/ipc/ServerRpcController.html   |     4 +-
 .../hadoop/hbase/ipc/SimpleRpcScheduler.html    |     4 +-
 .../hadoop/hbase/mapred/GroupingTableMap.html   |     2 +-
 .../hadoop/hbase/mapreduce/CopyTable.html       |     2 +-
 .../DefaultVisibilityExpressionResolver.html    |     2 +-
 .../hbase/mapreduce/GroupingTableMapper.html    |     2 +-
 .../HFileOutputFormat2.HFileRecordWriter.html   |   856 +-
 .../HFileOutputFormat2.WriterLength.html        |   856 +-
 .../hbase/mapreduce/HFileOutputFormat2.html     |   856 +-
 .../hbase/mapreduce/HashTable.HashMapper.html   |     6 +-
 .../hbase/mapreduce/HashTable.ResultHasher.html |     6 +-
 .../mapreduce/HashTable.TableHash.Reader.html   |     6 +-
 .../hbase/mapreduce/HashTable.TableHash.html    |     6 +-
 .../hadoop/hbase/mapreduce/HashTable.html       |     6 +-
 .../hadoop/hbase/mapreduce/Import.Importer.html |     4 +-
 .../mapreduce/Import.KeyValueImporter.html      |     4 +-
 .../hbase/mapreduce/Import.KeyValueReducer.html |     4 +-
 .../mapreduce/Import.KeyValueSortImporter.html  |     4 +-
 ...leComparable.KeyValueWritableComparator.html |     4 +-
 .../Import.KeyValueWritableComparable.html      |     4 +-
 ...t.KeyValueWritableComparablePartitioner.html |     4 +-
 .../apache/hadoop/hbase/mapreduce/Import.html   |     4 +-
 ...ImportTsv.TsvParser.BadTsvLineException.html |    10 +-
 .../ImportTsv.TsvParser.ParsedLine.html         |    10 +-
 .../hbase/mapreduce/ImportTsv.TsvParser.html    |    10 +-
 .../hadoop/hbase/mapreduce/ImportTsv.html       |    10 +-
 .../hbase/mapreduce/IndexBuilder.Map.html       |     2 +-
 .../hadoop/hbase/mapreduce/IndexBuilder.html    |     2 +-
 .../hbase/mapreduce/KeyValueSortReducer.html    |     2 +-
 .../LoadIncrementalHFiles.BulkHFileVisitor.html |  1355 +-
 .../LoadIncrementalHFiles.LoadQueueItem.html    |  1355 +-
 .../hbase/mapreduce/LoadIncrementalHFiles.html  |  1355 +-
 .../hbase/mapreduce/MultiHFileOutputFormat.html |    69 +-
 .../hbase/mapreduce/MultiTableInputFormat.html  |     2 +-
 .../mapreduce/MultiTableInputFormatBase.html    |     6 +-
 .../hadoop/hbase/mapreduce/PutSortReducer.html  |     4 +-
 ...esultSerialization.Result94Deserializer.html |     2 +-
 .../ResultSerialization.ResultDeserializer.html |     2 +-
 .../ResultSerialization.ResultSerializer.html   |     2 +-
 .../hbase/mapreduce/ResultSerialization.html    |     2 +-
 .../RowCounter.RowCounterMapper.Counters.html   |   379 +-
 .../mapreduce/RowCounter.RowCounterMapper.html  |   379 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |   379 +-
 .../SyncTable.SyncMapper.CellScanner.html       |  1226 +-
 .../mapreduce/SyncTable.SyncMapper.Counter.html |  1226 +-
 .../hbase/mapreduce/SyncTable.SyncMapper.html   |  1226 +-
 .../hadoop/hbase/mapreduce/SyncTable.html       |  1226 +-
 .../hbase/mapreduce/TableInputFormatBase.html   |  1029 +-
 .../hbase/mapreduce/TableMapReduceUtil.html     |     8 +-
 .../hbase/mapreduce/TableRecordReaderImpl.html  |     4 +-
 ...tFormat.TableSnapshotRegionRecordReader.html |     2 +-
 ...hotInputFormat.TableSnapshotRegionSplit.html |     2 +-
 .../mapreduce/TableSnapshotInputFormat.html     |     2 +-
 ...TableSnapshotInputFormatImpl.InputSplit.html |     4 +-
 ...bleSnapshotInputFormatImpl.RecordReader.html |     4 +-
 .../mapreduce/TableSnapshotInputFormatImpl.html |     4 +-
 .../hadoop/hbase/mapreduce/TextSortReducer.html |     4 +-
 .../hbase/mapreduce/TsvImporterMapper.html      |     2 +-
 .../WALInputFormat.WALKeyRecordReader.html      |   508 +-
 .../WALInputFormat.WALRecordReader.html         |   508 +-
 .../mapreduce/WALInputFormat.WALSplit.html      |   508 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html  |   508 +-
 .../mapreduce/WALPlayer.WALKeyValueMapper.html  |   561 +-
 .../hbase/mapreduce/WALPlayer.WALMapper.html    |   561 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |   561 +-
 .../VerifyReplication.Verifier.Counters.html    |   772 +-
 .../replication/VerifyReplication.Verifier.html |   772 +-
 .../replication/VerifyReplication.html          |   772 +-
 ...AssignmentManager.DelayedAssignCallable.html |  5740 ++-
 .../hadoop/hbase/master/AssignmentManager.html  |  5740 ++-
 .../master/AssignmentVerificationReport.html    |  1150 +-
 .../apache/hadoop/hbase/master/BulkReOpen.html  |     2 +-
 ...talogJanitor.SplitParentFirstComparator.html |   636 +-
 .../hadoop/hbase/master/CatalogJanitor.html     |   636 +-
 .../hbase/master/ClusterSchemaServiceImpl.html  |     2 +-
 ...MulticastPublisher.ClusterStatusEncoder.html |   501 +-
 ...stPublisher.HBaseDatagramChannelFactory.html |   501 +-
 ...usterStatusPublisher.MulticastPublisher.html |   501 +-
 .../ClusterStatusPublisher.Publisher.html       |   501 +-
 .../hbase/master/ClusterStatusPublisher.html    |   501 +-
 .../apache/hadoop/hbase/master/DeadServer.html  |     8 +-
 ...alBulkAssigner.SingleServerBulkAssigner.html |   337 +-
 .../hbase/master/GeneralBulkAssigner.html       |   337 +-
 .../master/HMaster.InitializationMonitor.html   |  5916 +--
 .../hbase/master/HMaster.PeriodicDoMetrics.html |  5916 +--
 .../hbase/master/HMaster.RedirectServlet.html   |  5916 +--
 .../org/apache/hadoop/hbase/master/HMaster.html |  5916 +--
 ...terCoprocessorHost.CoprocessorOperation.html |   444 +-
 ...ssorHost.CoprocessorOperationWithResult.html |   444 +-
 ...MasterCoprocessorHost.MasterEnvironment.html |   444 +-
 .../hbase/master/MasterCoprocessorHost.html     |   444 +-
 .../hbase/master/MasterMetaBootstrap.html       |     4 +-
 ...terMobCompactionThread.CompactionRunner.html |     2 +-
 .../hbase/master/MasterMobCompactionThread.html |     2 +-
 .../MasterRpcServices.BalanceSwitchMode.html    |  3695 +-
 .../hadoop/hbase/master/MasterRpcServices.html  |  3695 +-
 .../hadoop/hbase/master/MasterWalManager.html   |     8 +-
 .../apache/hadoop/hbase/master/RackManager.html |     2 +-
 ...ionPlacementMaintainer.RandomizedMatrix.html |  1713 +-
 .../hbase/master/RegionPlacementMaintainer.html |  1713 +-
 ...RegionStates.RegionStateStampComparator.html |  2136 +-
 .../hadoop/hbase/master/RegionStates.html       |  2136 +-
 .../hadoop/hbase/master/ServerListener.html     |    31 +-
 .../hadoop/hbase/master/ServerManager.html      |  2353 +-
 .../SnapshotOfRegionAssignmentFromMeta.html     |    26 +-
 .../SplitLogManager.ResubmitDirective.html      |   783 +-
 .../hbase/master/SplitLogManager.Task.html      |   783 +-
 .../hbase/master/SplitLogManager.TaskBatch.html |   783 +-
 .../SplitLogManager.TerminationStatus.html      |   783 +-
 .../master/SplitLogManager.TimeoutMonitor.html  |   783 +-
 .../hadoop/hbase/master/SplitLogManager.html    |   783 +-
 .../hbase/master/TableNamespaceManager.html     |     2 +-
 .../BaseLoadBalancer.Cluster.Action.Type.html   |   945 +-
 .../BaseLoadBalancer.Cluster.Action.html        |   945 +-
 ...LoadBalancer.Cluster.AssignRegionAction.html |   945 +-
 ...seLoadBalancer.Cluster.MoveRegionAction.html |   945 +-
 ...eLoadBalancer.Cluster.SwapRegionsAction.html |   945 +-
 .../balancer/BaseLoadBalancer.Cluster.html      |   945 +-
 .../BaseLoadBalancer.DefaultRackManager.html    |   945 +-
 .../hbase/master/balancer/BaseLoadBalancer.html |   945 +-
 .../hbase/master/balancer/ClusterLoadState.html |     2 +-
 .../MetricsStochasticBalancerSourceImpl.html    |     4 +-
 .../master/balancer/RegionLocationFinder.html   |    61 +-
 .../SimpleLoadBalancer.BalanceInfo.html         |   610 +-
 .../master/balancer/SimpleLoadBalancer.html     |   610 +-
 ...ochasticLoadBalancer.CandidateGenerator.html |    14 +-
 ...LoadBalancer.CostFromRegionLoadFunction.html |    14 +-
 .../StochasticLoadBalancer.CostFunction.html    |    14 +-
 ...sticLoadBalancer.LoadCandidateGenerator.html |    14 +-
 ...alancer.LocalityBasedCandidateGenerator.html |    14 +-
 ...hasticLoadBalancer.LocalityCostFunction.html |    14 +-
 ...icLoadBalancer.MemstoreSizeCostFunction.html |    14 +-
 ...StochasticLoadBalancer.MoveCostFunction.html |    14 +-
 ...ncer.PrimaryRegionCountSkewCostFunction.html |    14 +-
 ...icLoadBalancer.RandomCandidateGenerator.html |    14 +-
 ...ticLoadBalancer.ReadRequestCostFunction.html |    14 +-
 ...oadBalancer.RegionCountSkewCostFunction.html |    14 +-
 ...alancer.RegionReplicaCandidateGenerator.html |    14 +-
 ...dBalancer.RegionReplicaHostCostFunction.html |    14 +-
 ...cer.RegionReplicaRackCandidateGenerator.html |    14 +-
 ...dBalancer.RegionReplicaRackCostFunction.html |    14 +-
 ...asticLoadBalancer.StoreFileCostFunction.html |    14 +-
 ...asticLoadBalancer.TableSkewCostFunction.html |    14 +-
 ...icLoadBalancer.WriteRequestCostFunction.html |    14 +-
 .../master/balancer/StochasticLoadBalancer.html |    14 +-
 .../hbase/master/cleaner/CleanerChore.html      |     2 +-
 .../master/cleaner/ReplicationMetaCleaner.html  |     2 +-
 .../normalizer/SimpleRegionNormalizer.html      |     2 +-
 .../procedure/CloneSnapshotProcedure.html       |   773 +-
 .../CreateTableProcedure.CreateHdfsRegions.html |   101 +-
 .../master/procedure/CreateTableProcedure.html  |   101 +-
 .../master/procedure/DeleteTableProcedure.html  |     4 +-
 .../master/procedure/EnableTableProcedure.html  |    85 +-
 .../procedure/MasterDDLOperationHelper.html     |     4 +-
 .../MasterProcedureScheduler.FairQueue.html     |  1589 +-
 .../MasterProcedureScheduler.Queue.html         |  1589 +-
 .../MasterProcedureScheduler.ServerQueue.html   |  1589 +-
 ...edureScheduler.ServerQueueKeyComparator.html |  1589 +-
 .../MasterProcedureScheduler.TableQueue.html    |  1589 +-
 ...cedureScheduler.TableQueueKeyComparator.html |  1589 +-
 .../procedure/MasterProcedureScheduler.html     |  1589 +-
 .../master/procedure/ModifyTableProcedure.html  |     2 +-
 .../procedure/RestoreSnapshotProcedure.html     |   869 +-
 .../master/procedure/ServerCrashProcedure.html  |     8 +-
 ...tTableRegionProcedure.StoreFileSplitter.html |    10 +-
 .../procedure/SplitTableRegionProcedure.html    |    10 +-
 .../procedure/TruncateTableProcedure.html       |     4 +-
 .../snapshot/DisabledTableSnapshotHandler.html  |     2 +-
 .../snapshot/EnabledTableSnapshotHandler.html   |     2 +-
 .../SnapshotFileCache.RefreshCacheTask.html     |   533 +-
 ...SnapshotFileCache.SnapshotDirectoryInfo.html |   533 +-
 ...SnapshotFileCache.SnapshotFileInspector.html |   533 +-
 .../master/snapshot/SnapshotFileCache.html      |   533 +-
 .../hbase/master/snapshot/SnapshotManager.html  |  2037 +-
 .../master/snapshot/TakeSnapshotHandler.html    |     2 +-
 .../apache/hadoop/hbase/metrics/Interns.html    |     4 +-
 .../hbase/mob/DefaultMobStoreCompactor.html     |   646 +-
 .../hbase/mob/DefaultMobStoreFlusher.html       |   442 +-
 .../org/apache/hadoop/hbase/mob/MobFile.html    |     4 +-
 .../hbase/mob/MobFileCache.EvictionThread.html  |     6 +-
 .../apache/hadoop/hbase/mob/MobFileCache.html   |     6 +-
 .../org/apache/hadoop/hbase/mob/MobUtils.html   |  1787 +-
 ...obCompactionRequest.CompactionPartition.html |   463 +-
 ...CompactionRequest.CompactionPartitionId.html |   463 +-
 .../PartitionedMobCompactionRequest.html        |   463 +-
 .../compactions/PartitionedMobCompactor.html    |  1637 +-
 .../monitoring/MonitoredRPCHandlerImpl.html     |     2 +-
 .../hbase/monitoring/MonitoredTaskImpl.html     |     2 +-
 ...askMonitor.PassthroughInvocationHandler.html |   325 +-
 .../TaskMonitor.TaskAndWeakRefPair.html         |   325 +-
 .../hadoop/hbase/monitoring/TaskMonitor.html    |   325 +-
 .../hbase/namespace/NamespaceStateManager.html  |     2 +-
 .../namespace/NamespaceTableAndRegionInfo.html  |     2 +-
 .../org/apache/hadoop/hbase/nio/ByteBuff.html   |     2 +-
 .../apache/hadoop/hbase/nio/SingleByteBuff.html |     2 +-
 .../procedure/MasterProcedureManagerHost.html   |    55 +-
 .../hadoop/hbase/procedure/Procedure.html       |     6 +-
 .../hbase/procedure/ProcedureCoordinator.html   |     4 +-
 .../hbase/procedure/ProcedureManagerHost.html   |     6 +-
 .../hadoop/hbase/procedure/ProcedureMember.html |     2 +-
 .../procedure/ZKProcedureCoordinatorRpcs.html   |   399 -
 .../flush/MasterFlushTableProcedureManager.html |     8 +-
 ...reManager.FlushTableSubprocedureBuilder.html |     6 +-
 ...edureManager.FlushTableSubprocedurePool.html |     6 +-
 .../RegionServerFlushTableProcedureManager.html |     6 +-
 .../procedure2/AbstractProcedureScheduler.html  |   289 +-
 ...edureExecutor.CompletedProcedureCleaner.html |  3139 +-
 .../ProcedureExecutor.DelayedProcedure.html     |  3139 +-
 .../ProcedureExecutor.InlineChore.html          |  3139 +-
 ...edureExecutor.ProcedureExecutorListener.html |  3139 +-
 .../ProcedureExecutor.StoppableThread.html      |  3139 +-
 .../procedure2/ProcedureExecutor.Testing.html   |  3139 +-
 ...ProcedureExecutor.TimeoutExecutorThread.html |  3139 +-
 .../ProcedureExecutor.WorkerMonitor.html        |  3139 +-
 .../ProcedureExecutor.WorkerThread.html         |  3139 +-
 .../hbase/procedure2/ProcedureExecutor.html     |  3139 +-
 .../hbase/procedure2/ProcedureScheduler.html    |    12 +-
 .../procedure2/RootProcedureState.State.html    |     6 +-
 .../hbase/procedure2/RootProcedureState.html    |     6 +-
 .../procedure2/SimpleProcedureScheduler.html    |   105 +-
 .../procedure2/StateMachineProcedure.Flow.html  |     2 +-
 .../hbase/procedure2/StateMachineProcedure.html |     2 +-
 .../procedure2/store/ProcedureStoreBase.html    |    93 +-
 .../wal/ProcedureWALFormatReader.Entry.html     |  1413 +-
 .../ProcedureWALFormatReader.EntryIterator.html |  1413 +-
 ...rocedureWALFormatReader.WalProcedureMap.html |  1413 +-
 .../store/wal/ProcedureWALFormatReader.html     |  1413 +-
 .../store/wal/ProcedureWALPrettyPrinter.html    |     2 +-
 .../wal/WALProcedureStore.LeaseRecovery.html    |     8 +-
 .../store/wal/WALProcedureStore.PushType.html   |     8 +-
 .../wal/WALProcedureStore.SyncMetrics.html      |     8 +-
 .../procedure2/store/wal/WALProcedureStore.html |     8 +-
 .../quotas/MasterQuotaManager.NamedLock.html    |     8 +-
 .../MasterQuotaManager.SetQuotaOperations.html  |     8 +-
 .../hadoop/hbase/quotas/MasterQuotaManager.html |     8 +-
 .../hadoop/hbase/quotas/QuotaCache.Fetcher.html |   475 +-
 .../quotas/QuotaCache.QuotaRefresherChore.html  |   475 +-
 .../apache/hadoop/hbase/quotas/QuotaCache.html  |   475 +-
 .../apache/hadoop/hbase/quotas/QuotaFilter.html |     2 +-
 .../hbase/quotas/QuotaRetriever.Iter.html       |     2 +-
 .../hadoop/hbase/quotas/QuotaRetriever.html     |     2 +-
 ...tingsFactory.QuotaGlobalsSettingsBypass.html |     4 +-
 .../hbase/quotas/QuotaSettingsFactory.html      |     4 +-
 .../hbase/quotas/QuotaUtil.KeyFromRow.html      |     4 +-
 .../apache/hadoop/hbase/quotas/QuotaUtil.html   |     4 +-
 .../hadoop/hbase/quotas/UserQuotaState.html     |     4 +-
 .../hbase/regionserver/AbstractMemStore.html    |   495 +-
 .../AbstractMultiFileWriter.WriterFactory.html  |     4 +-
 .../regionserver/AbstractMultiFileWriter.html   |     4 +-
 .../AnnotationReadingPriorityFunction.html      |   380 +-
 .../hbase/regionserver/BaseRowProcessor.html    |     2 +-
 .../hadoop/hbase/regionserver/CellSet.html      |     2 +-
 .../CompactSplitThread.CompactionRunner.html    |     4 +-
 .../CompactSplitThread.Rejection.html           |     4 +-
 .../hbase/regionserver/CompactSplitThread.html  |     4 +-
 ...ompactingMemStore.InMemoryFlushRunnable.html |  1010 +-
 .../hbase/regionserver/CompactingMemStore.html  |  1010 +-
 .../hbase/regionserver/CompactionPipeline.html  |    30 +-
 .../CompactionTool.CompactionInputFormat.html   |     6 +-
 .../CompactionTool.CompactionMapper.html        |     6 +-
 .../CompactionTool.CompactionWorker.html        |     6 +-
 .../hbase/regionserver/CompactionTool.html      |     6 +-
 .../regionserver/DateTieredMultiFileWriter.html |    91 +-
 .../hbase/regionserver/DefaultMemStore.html     |   352 +-
 .../regionserver/DefaultStoreFileManager.html   |    16 +-
 .../hbase/regionserver/DefaultStoreFlusher.html |     4 +-
 .../regionserver/FlushAllLargeStoresPolicy.html |     2 +-
 .../FlushNonSloppyStoresFirstPolicy.html        |     2 +-
 .../hadoop/hbase/regionserver/HMobStore.html    |   944 +-
 .../regionserver/HRegion.BatchOperation.html    | 15129 +++---
 .../regionserver/HRegion.FlushResultImpl.html   | 15129 +++---
 .../regionserver/HRegion.MutationBatch.html     | 15129 +++---
 .../HRegion.PrepareFlushResult.html             | 15129 +++---
 .../regionserver/HRegion.RegionScannerImpl.html | 15129 +++---
 .../hbase/regionserver/HRegion.ReplayBatch.html | 15129 +++---
 .../regionserver/HRegion.RowLockContext.html    | 15129 +++---
 .../hbase/regionserver/HRegion.RowLockImpl.html | 15129 +++---
 .../hbase/regionserver/HRegion.WriteState.html  | 15129 +++---
 .../hadoop/hbase/regionserver/HRegion.html      | 15129 +++---
 .../hbase/regionserver/HRegionFileSystem.html   |   861 +-
 .../HRegionServer.CompactionChecker.html        |  5089 +-
 .../HRegionServer.MovedRegionInfo.html          |  5089 +-
 .../HRegionServer.MovedRegionsCleaner.html      |  5089 +-
 .../HRegionServer.PeriodicMemstoreFlusher.html  |  5089 +-
 .../hbase/regionserver/HRegionServer.html       |  5089 +-
 .../regionserver/HStore.StoreFlusherImpl.html   |  3902 +-
 .../hadoop/hbase/regionserver/HStore.html       |  3902 +-
 ...eapMemoryManager.HeapMemoryTuneObserver.html |  1062 +-
 .../HeapMemoryManager.HeapMemoryTunerChore.html |  1062 +-
 .../HeapMemoryManager.TunerContext.html         |  1062 +-
 .../HeapMemoryManager.TunerResult.html          |  1062 +-
 .../hbase/regionserver/HeapMemoryManager.html   |  1062 +-
 .../regionserver/ImmutableSegment.Type.html     |   476 +-
 .../hbase/regionserver/ImmutableSegment.html    |   476 +-
 .../KeyValueHeap.KVScannerComparator.html       |   720 +-
 .../hadoop/hbase/regionserver/KeyValueHeap.html |   720 +-
 .../hbase/regionserver/KeyValueScanner.html     |   260 +-
 .../hadoop/hbase/regionserver/Leases.Lease.html |     2 +-
 .../Leases.LeaseStillHeldException.html         |     2 +-
 .../hadoop/hbase/regionserver/Leases.html       |     2 +-
 .../hadoop/hbase/regionserver/LogRoller.html    |   321 +-
 .../hbase/regionserver/LruHashMap.Entry.html    |     6 +-
 .../hadoop/hbase/regionserver/LruHashMap.html   |     6 +-
 .../hadoop/hbase/regionserver/MemStore.html     |    14 +-
 .../regionserver/MemStoreCompactor.Action.html  |     2 +-
 .../hbase/regionserver/MemStoreCompactor.html   |     2 +-
 .../MemStoreCompactorSegmentsIterator.html      |   237 +-
 .../MemStoreFlusher.FlushHandler.html           |  1480 +-
 .../MemStoreFlusher.FlushQueueEntry.html        |  1480 +-
 .../MemStoreFlusher.FlushRegionEntry.html       |  1480 +-
 .../MemStoreFlusher.WakeupFlushThread.html      |  1480 +-
 .../hbase/regionserver/MemStoreFlusher.html     |  1480 +-
 .../MemStoreMergerSegmentsIterator.html         |   116 +-
 .../hbase/regionserver/MemStoreScanner.html     |   406 -
 .../regionserver/MemStoreSegmentsIterator.html  |    63 +-
 .../hbase/regionserver/MemStoreSnapshot.html    |   143 +-
 .../hadoop/hbase/regionserver/MemstoreSize.html |   159 +-
 .../MiniBatchOperationInProgress.html           |     4 +-
 .../regionserver/MultiRowMutationProcessor.html |     2 +-
 ...ltiVersionConcurrencyControl.WriteEntry.html |     2 +-
 .../MultiVersionConcurrencyControl.html         |     2 +-
 .../hbase/regionserver/MutableSegment.html      |     6 +-
 .../regionserver/NoLimitScannerContext.html     |     4 +-
 ...SRpcServices.RegionScannerCloseCallBack.html |  5619 ++-
 .../RSRpcServices.RegionScannerHolder.html      |  5619 ++-
 ...pcServices.RegionScannerShippedCallBack.html |  5619 ++-
 ...RpcServices.RegionScannersCloseCallBack.html |  5619 ++-
 .../RSRpcServices.ScannerListener.html          |  5619 ++-
 .../hbase/regionserver/RSRpcServices.html       |  5619 ++-
 ...ionCoprocessorHost.CoprocessorOperation.html |  3402 +-
 ...RegionCoprocessorHost.EndpointOperation.html |  3402 +-
 ...ocessorHost.EndpointOperationWithResult.html |  3402 +-
 ...RegionCoprocessorHost.RegionEnvironment.html |  3402 +-
 .../RegionCoprocessorHost.RegionOperation.html  |  3402 +-
 ...processorHost.RegionOperationWithResult.html |  3402 +-
 ...processorHost.TableCoprocessorAttribute.html |  3402 +-
 .../regionserver/RegionCoprocessorHost.html     |  3402 +-
 .../regionserver/RegionServerAccounting.html    |   404 +-
 ...ionServerServices.PostOpenDeployContext.html |    12 +-
 ...erServices.RegionStateTransitionContext.html |    12 +-
 .../regionserver/RegionServerServices.html      |    12 +-
 .../regionserver/RegionServicesForStores.html   |     2 +-
 .../regionserver/ScannerContext.Builder.html    |   954 +-
 .../ScannerContext.LimitFields.html             |   954 +-
 .../regionserver/ScannerContext.LimitScope.html |   954 +-
 .../regionserver/ScannerContext.NextState.html  |   954 +-
 .../hbase/regionserver/ScannerContext.html      |   954 +-
 ...eBulkLoadManager.SecureBulkLoadListener.html |   558 +-
 .../regionserver/SecureBulkLoadManager.html     |   558 +-
 .../hadoop/hbase/regionserver/Segment.html      |   480 +-
 .../hbase/regionserver/SegmentFactory.html      |     2 +-
 .../hbase/regionserver/SegmentScanner.html      |   755 +-
 .../ServerNonceManager.OperationContext.html    |   325 +-
 .../hbase/regionserver/ServerNonceManager.html  |   325 +-
 .../ShutdownHook.DoNothingStoppable.html        |     2 +-
 .../ShutdownHook.DoNothingThread.html           |     2 +-
 .../ShutdownHook.ShutdownHookThread.html        |     2 +-
 .../hadoop/hbase/regionserver/ShutdownHook.html |     2 +-
 .../apache/hadoop/hbase/regionserver/Store.html |   477 +-
 .../hbase/regionserver/StoreFileReader.html     |     2 +-
 .../hbase/regionserver/StoreFileScanner.html    |     4 +-
 .../regionserver/StoreFileWriter.Builder.html   |   806 +-
 .../hbase/regionserver/StoreFileWriter.html     |   806 +-
 .../hadoop/hbase/regionserver/StoreFlusher.html |    10 +-
 ...StoreScanner.StoreScannerCompactionRace.html |   515 +-
 .../hadoop/hbase/regionserver/StoreScanner.html |   515 +-
 .../regionserver/StorefileRefresherChore.html   |     2 +-
 ...ripeMultiFileWriter.BoundaryMultiWriter.html |     6 +-
 .../StripeMultiFileWriter.SizeMultiWriter.html  |     6 +-
 .../regionserver/StripeMultiFileWriter.html     |     6 +-
 .../StripeStoreEngine.StripeCompaction.html     |     2 +-
 .../hbase/regionserver/StripeStoreEngine.html   |     2 +-
 ...eFileManager.CompactionOrFlushMergeCopy.html |  1933 +-
 ...ger.KeyBeforeConcatenatedLists.Iterator.html |  1933 +-
 ...eFileManager.KeyBeforeConcatenatedLists.html |  1933 +-
 .../StripeStoreFileManager.State.html           |  1933 +-
 .../regionserver/StripeStoreFileManager.html    |  1933 +-
 ...StoreFlusher.BoundaryStripeFlushRequest.html |     4 +-
 ...ripeStoreFlusher.SizeStripeFlushRequest.html |     4 +-
 .../StripeStoreFlusher.StripeFlushRequest.html  |     4 +-
 .../hbase/regionserver/StripeStoreFlusher.html  |     4 +-
 ...CompactionRequest.DisplayCompactionType.html |     2 +-
 .../compactions/CompactionRequest.html          |     2 +-
 .../compactions/Compactor.CellSinkFactory.html  |   922 +-
 .../compactions/Compactor.FileDetails.html      |   922 +-
 .../Compactor.InternalScannerFactory.html       |   922 +-
 .../regionserver/compactions/Compactor.html     |   922 +-
 .../compactions/DateTieredCompactionPolicy.html |     8 +-
 .../compactions/ExploringCompactionPolicy.html  |    10 +-
 .../compactions/FIFOCompactionPolicy.html       |     2 +-
 .../compactions/SortedCompactionPolicy.html     |     4 +-
 ...nPolicy.BoundaryStripeCompactionRequest.html |    10 +-
 ...tionPolicy.SplitStripeCompactionRequest.html |    10 +-
 ...ompactionPolicy.StripeCompactionRequest.html |    10 +-
 ...pactionPolicy.StripeInformationProvider.html |    10 +-
 .../compactions/StripeCompactionPolicy.html     |    10 +-
 .../CompactionScanQueryMatcher.html             |   116 +-
 .../DeleteTracker.DeleteCompare.html            |   161 +-
 .../DeleteTracker.DeleteResult.html             |   161 +-
 .../querymatcher/DeleteTracker.html             |   161 +-
 .../querymatcher/LegacyScanQueryMatcher.html    |   498 +-
 .../NormalUserScanQueryMatcher.html             |   170 +-
 .../querymatcher/ScanDeleteTracker.html         |   284 +-
 ...shotManager.SnapshotSubprocedureBuilder.html |     6 +-
 ...napshotManager.SnapshotSubprocedurePool.html |     6 +-
 .../snapshot/RegionServerSnapshotManager.html   |     6 +-
 ...areThroughputController.ActiveOperation.html |   203 +-
 .../PressureAwareThroughputController.html      |   203 +-
 .../wal/AbstractFSWAL.WalProps.html             |  1462 +-
 .../hbase/regionserver/wal/AbstractFSWAL.html   |  1462 +-
 .../hbase/regionserver/wal/AsyncFSWAL.html      |   204 +-
 ...ncProtobufLogWriter.OutputStreamWrapper.html |     2 +-
 .../wal/AsyncProtobufLogWriter.html             |     2 +-
 .../wal/FSHLog.RingBufferEventHandler.html      |    12 +-
 .../wal/FSHLog.RingBufferExceptionHandler.html  |    12 +-
 .../wal/FSHLog.SafePointZigZagLatch.html        |    12 +-
 .../regionserver/wal/FSHLog.SyncRunner.html     |    12 +-
 .../hadoop/hbase/regionserver/wal/FSHLog.html   |    12 +-
 .../wal/ProtobufLogReader.WALHdrContext.html    |     2 +-
 .../wal/ProtobufLogReader.WALHdrResult.html     |     2 +-
 .../regionserver/wal/ProtobufLogReader.html     |     2 +-
 .../wal/SecureProtobufLogReader.html            |     2 +-
 .../regionserver/wal/SequenceIdAccounting.html  |    10 +-
 .../hbase/regionserver/wal/SyncFuture.html      |     4 +-
 .../hadoop/hbase/regionserver/wal/WALEdit.html  |     4 +-
 ...WALEditsReplaySink.ReplayServerCallable.html |     4 +-
 .../regionserver/wal/WALEditsReplaySink.html    |     4 +-
 .../hbase/replication/BulkLoadCellFilter.html   |     2 +-
 .../hbase/replication/ChainWALEntryFilter.html  |     2 +-
 ...cationEndpoint.PeerRegionServerListener.html |     4 +-
 .../replication/HBaseReplicationEndpoint.html   |     4 +-
 .../replication/ReplicationPeerConfig.html      |     4 +-
 ...ReplicationPeerZKImpl.PeerConfigTracker.html |     2 +-
 .../ReplicationPeerZKImpl.PeerStateTracker.html |     2 +-
 .../replication/ReplicationPeerZKImpl.html      |     2 +-
 .../replication/ReplicationPeersZKImpl.html     |    10 +-
 .../hbase/replication/ReplicationQueueInfo.html |     2 +-
 .../replication/ReplicationQueuesZKImpl.html    |     6 +-
 ...nTableBase.CreateReplicationTableWorker.html |     8 +-
 .../hbase/replication/ReplicationTableBase.html |     8 +-
 ...nTrackerZKImpl.OtherRegionServerWatcher.html |   407 +-
 .../ReplicationTrackerZKImpl.PeersWatcher.html  |   407 +-
 .../replication/ReplicationTrackerZKImpl.html   |   407 +-
 .../TableBasedReplicationQueuesClientImpl.html  |     2 +-
 .../TableBasedReplicationQueuesImpl.html        |     2 +-
 .../DumpReplicationQueues.DumpOptions.html      |     6 +-
 ...DumpReplicationQueues.WarnOnlyAbortable.html |     6 +-
 ...DumpReplicationQueues.WarnOnlyStoppable.html |     6 +-
 .../regionserver/DumpReplicationQueues.html     |     6 +-
 ...erClusterReplicationEndpoint.Replicator.html |   670 +-
 .../HBaseInterClusterReplicationEndpoint.html   |   670 +-
 .../regionserver/HFileReplicator.Copier.html    |     8 +-
 .../regionserver/HFileReplicator.html           |     8 +-
 .../replication/regionserver/MetricsSource.html |     2 +-
 ...icationEndpoint.RegionReplicaOutputSink.html |   270 +-
 ...ionEndpoint.RegionReplicaReplayCallable.html |   270 +-
 ...icationEndpoint.RegionReplicaSinkWriter.html |   270 +-
 ...ReplicationEndpoint.RetryingRpcCallable.html |   270 +-
 ...icationEndpoint.SkipReplayedEditsFilter.html |   270 +-
 .../RegionReplicaReplicationEndpoint.html       |   270 +-
 ...Replication.ReplicationStatisticsThread.html |     2 +-
 .../replication/regionserver/Replication.html   |     2 +-
 .../regionserver/ReplicationLoad.html           |   204 +-
 .../regionserver/ReplicationSink.html           |   527 +-
 .../ReplicationSource.LogsComparator.html       |  1722 +-
 .../regionserver/ReplicationSource.html         |  1722 +-
 ...ourceManager.AdoptAbandonedQueuesWorker.html |  1582 +-
 ...icationSourceManager.NodeFailoverWorker.html |  1582 +-
 .../regionserver/ReplicationSourceManager.html  |  1582 +-
 .../apache/hadoop/hbase/rest/RESTServer.html    |   309 +-
 .../apache/hadoop/hbase/rest/RowResource.html   |     2 +-
 .../org/apache/hadoop/hbase/rest/RowSpec.html   |   721 +-
 .../apache/hadoop/hbase/rest/client/Client.html |     2 +-
 .../rest/client/RemoteHTable.Scanner.Iter.html  |  1165 +-
 .../hbase/rest/client/RemoteHTable.Scanner.html |  1165 +-
 .../hadoop/hbase/rest/client/RemoteHTable.html  |  1165 +-
 .../hadoop/hbase/rest/filter/GzipFilter.html    |     2 +-
 ...estCsrfPreventionFilter.HttpInteraction.html |     4 +-
 ...tionFilter.ServletFilterHttpInteraction.html |     4 +-
 .../rest/filter/RestCsrfPreventionFilter.html   |     4 +-
 .../hadoop/hbase/rest/model/CellSetModel.html   |     2 +-
 .../hbase/rest/model/ColumnSchemaModel.html     |     2 +-
 .../rest/model/NamespacesInstanceModel.html     |     6 +-
 .../hbase/rest/model/NamespacesModel.html       |     4 +-
 .../hadoop/hbase/rest/model/RowModel.html       |     4 +-
 ...ByteArrayComparableModel.ComparatorType.html |    16 +-
 ...el.FilterModel.ByteArrayComparableModel.html |    16 +-
 .../ScannerModel.FilterModel.FilterType.html    |    16 +-
 .../rest/model/ScannerModel.FilterModel.html    |    16 +-
 .../hadoop/hbase/rest/model/ScannerModel.html   |    16 +-
 .../StorageClusterStatusModel.Node.Region.html  |     6 +-
 .../model/StorageClusterStatusModel.Node.html   |     6 +-
 .../rest/model/StorageClusterStatusModel.html   |     6 +-
 .../hadoop/hbase/rest/model/TableInfoModel.html |     2 +-
 .../hadoop/hbase/rest/model/TableListModel.html |     2 +-
 .../hbase/rest/model/TableSchemaModel.html      |     4 +-
 .../hadoop/hbase/rsgroup/RSGroupAdmin.html      |   160 +-
 .../hbase/rsgroup/RSGroupAdminClient.html       |   321 +-
 .../hbase/rsgroup/RSGroupAdminEndpoint.html     |  1458 +-
 .../hbase/rsgroup/RSGroupAdminServer.html       |  1083 +-
 .../hbase/rsgroup/RSGroupBasedLoadBalancer.html |   714 +-
 .../hadoop/hbase/rsgroup/RSGroupInfo.html       |   255 +-
 .../hbase/rsgroup/RSGroupInfoManager.html       |   165 +-
 ...oupInfoManagerImpl.DefaultServerUpdater.html |   856 -
 ...oupInfoManagerImpl.RSGroupStartupWorker.html |  1467 +-
 .../hbase/rsgroup/RSGroupInfoManagerImpl.html   |  1467 +-
 .../hadoop/hbase/rsgroup/RSGroupSerDe.html      |   193 -
 .../hbase/rsgroup/RSGroupableBalancer.html      |     5 +-
 .../hadoop/hbase/security/SecurityInfo.html     |     2 +-
 .../hbase/security/User.SecureHadoopUser.html   |    49 +-
 .../hbase/security/User.TestingGroups.html      |    49 +-
 .../org/apache/hadoop/hbase/security/User.html  |    49 +-
 .../hadoop/hbase/security/UserProvider.html     |     2 +-
 .../security/access/AccessControlClient.html    |   364 +-
 .../security/access/AccessControlLists.html     |  1129 +-
 .../security/access/AccessControlUtil.html      |   516 +-
 .../access/AccessController.OpType.html         |  5234 +--
 .../hbase/security/access/AccessController.html |  5234 +--
 .../TableAuthManager.PermissionCache.html       |   113 +-
 .../hbase/security/access/TableAuthManager.html |   113 +-
 .../hbase/security/access/TablePermission.html  |   231 +-
 .../security/access/ZKPermissionWatcher.html    |   507 +-
 ...icationTokenSecretManager.LeaderElector.html |   576 +-
 .../token/AuthenticationTokenSecretManager.html |   576 +-
 .../hadoop/hbase/security/token/TokenUtil.html  |     2 +-
 .../security/visibility/Authorizations.html     |     2 +-
 .../DefaultVisibilityLabelServiceImpl.html      |    40 +-
 .../DefinedSetFilterScanLabelGenerator.html     |     8 +-
 .../visibility/EnforcingScanLabelGenerator.html |     4 +-
 .../security/visibility/ExpressionParser.html   |     4 +-
 .../FeedUserAuthScanLabelGenerator.html         |     4 +-
 .../security/visibility/VisibilityClient.html   |     8 +-
 ...DeleteVersionVisibilityExpressionFilter.html |  2123 +-
 ...ibilityController.VisibilityReplication.html |  2123 +-
 .../visibility/VisibilityController.html        |  2123 +-
 .../visibility/VisibilityLabelsCache.html       |   299 +-
 .../VisibilityReplicationEndpoint.html          |     6 +-
 .../visibility/VisibilityScanDeleteTracker.html |   547 +-
 .../security/visibility/VisibilityUtils.html    |     8 +-
 .../expression/NonLeafExpressionNode.html       |     4 +-
 .../hbase/snapshot/ExportSnapshot.Counter.html  |   999 +-
 .../snapshot/ExportSnapshot.ExportMapper.html   |   999 +-
 ...hotInputFormat.ExportSnapshotInputSplit.html |   999 +-
 ...tInputFormat.ExportSnapshotRecordReader.html |   999 +-
 ...xportSnapshot.ExportSnapshotInputFormat.html |   999 +-
 .../hbase/snapshot/ExportSnapshot.Options.html  |   999 +-
 .../hadoop/hbase/snapshot/ExportSnapshot.html   |   999 +-
 ...estoreSnapshotHelper.RestoreMetaChanges.html |  1420 +-
 .../hbase/snapshot/RestoreSnapshotHelper.html   |  1420 +-
 .../SnapshotInfo.SnapshotStats.FileInfo.html    |   221 +-
 .../snapshot/SnapshotInfo.SnapshotStats.html    |   221 +-
 .../hadoop/hbase/snapshot/SnapshotInfo.html     |   221 +-
 .../SnapshotManifest.RegionVisitor.html         |   374 +-
 .../hadoop/hbase/snapshot/SnapshotManifest.html |   374 +-
 .../SnapshotManifestV1.ManifestBuilder.html     |   151 +-
 .../hbase/snapshot/SnapshotManifestV1.html      |   151 +-
 .../SnapshotManifestV2.ManifestBuilder.html     |    67 +-
 .../hbase/snapshot/SnapshotManifestV2.html      |    67 +-
 .../SnapshotReferenceUtil.SnapshotVisitor.html  |   301 +-
 .../SnapshotReferenceUtil.StoreFileVisitor.html |   301 +-
 .../hbase/snapshot/SnapshotReferenceUtil.html   |   301 +-
 .../hadoop/hbase/thrift/CallQueue.Call.html     |     2 +-
 .../apache/hadoop/hbase/thrift/CallQueue.html   |     2 +-
 .../apache/hadoop/hbase/thrift/DemoClient.html  |    24 +-
 .../hadoop/hbase/thrift/HttpDoAsClient.html     |     6 +-
 .../IncrementCoalescer.DaemonThreadFactory.html |     4 +-
 .../IncrementCoalescer.FullyQualifiedRow.html   |     4 +-
 .../hadoop/hbase/thrift/IncrementCoalescer.html |     4 +-
 .../thrift/TBoundedThreadPoolServer.Args.html   |     4 +-
 ...undedThreadPoolServer.ClientConnnection.html |     4 +-
 .../hbase/thrift/TBoundedThreadPoolServer.html  |     4 +-
 .../thrift/ThriftServerRunner.HBaseHandler.html |  2731 +-
 .../thrift/ThriftServerRunner.ImplType.html     |  2731 +-
 ...ThriftServerRunner.ResultScannerWrapper.html |  2731 +-
 .../hadoop/hbase/thrift/ThriftServerRunner.html |  2731 +-
 .../hadoop/hbase/thrift/ThriftUtilities.html    |    12 +-
 .../apache/hadoop/hbase/thrift2/DemoClient.html |     6 +-
 ...erviceHandler.THBaseServiceMetricsProxy.html |   641 +-
 .../thrift2/ThriftHBaseServiceHandler.html      |   641 +-
 .../hadoop/hbase/thrift2/ThriftServer.html      |     6 +-
 .../hadoop/hbase/thrift2/ThriftUtilities.html   |  1047 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   270 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |   270 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   270 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    76 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |     4 +-
 .../hadoop/hbase/tool/Canary.ExtendedSink.html  |    30 +-
 .../hadoop/hbase/tool/Canary.Monitor.html       |    30 +-
 .../hadoop/hbase/tool/Canary.RegionMonitor.html |    30 +-
 .../hbase/tool/Canary.RegionServerMonitor.html  |    30 +-
 .../tool/Canary.RegionServerStdOutSink.html     |    30 +-
 .../hbase/tool/Canary.RegionServerTask.html     |    30 +-
 .../hbase/tool/Canary.RegionTask.TaskType.html  |    30 +-
 .../hadoop/hbase/tool/Canary.RegionTask.html    |    30 +-
 .../apache/hadoop/hbase/tool/Canary.Sink.html   |    30 +-
 .../hadoop/hbase/tool/Canary.StdOutSink.html    |    30 +-
 .../hbase/tool/Canary.ZookeeperMonitor.html     |    30 +-
 .../hbase/tool/Canary.ZookeeperStdOutSink.html  |    30 +-
 .../hadoop/hbase/tool/Canary.ZookeeperTask.html |    30 +-
 .../org/apache/hadoop/hbase/tool/Canary.html    |    30 +-
 .../hadoop/hbase/tool/WriteSinkCoprocessor.html |     8 +-
 .../trace/SpanReceiverHost.SingletonHolder.html |     2 +-
 .../hadoop/hbase/trace/SpanReceiverHost.html    |     2 +-
 .../hadoop/hbase/types/StructBuilder.html       |     2 +-
 ...bstractHBaseTool.OptionsOrderComparator.html |   430 +-
 .../hadoop/hbase/util/AbstractHBaseTool.html    |   430 +-
 .../apache/hadoop/hbase/util/ArrayUtils.html    |     2 +-
 .../hbase/util/AvlUtil.AvlInsertOrReplace.html  |     2 +-
 .../hbase/util/AvlUtil.AvlIterableList.html     |     2 +-
 .../hbase/util/AvlUtil.AvlKeyComparator.html    |     2 +-
 .../hbase/util/AvlUtil.AvlLinkedNode.html       |     2 +-
 .../hadoop/hbase/util/AvlUtil.AvlNode.html      |     2 +-
 .../hbase/util/AvlUtil.AvlNodeVisitor.html      |     2 +-
 .../hadoop/hbase/util/AvlUtil.AvlTree.html      |     2 +-
 .../hbase/util/AvlUtil.AvlTreeIterator.html     |     2 +-
 .../org/apache/hadoop/hbase/util/AvlUtil.html   |     2 +-
 ...BoundedCompletionService.QueueingFuture.html |     4 +-
 .../hbase/util/BoundedCompletionService.html    |     4 +-
 ...ndedPriorityBlockingQueue.PriorityQueue.html |     2 +-
 .../util/BoundedPriorityBlockingQueue.html      |     2 +-
 .../hadoop/hbase/util/ByteRangeUtils.html       |     4 +-
 .../hbase/util/CollectionBackedScanner.html     |     2 +-
 .../CollectionUtils.IOExceptionSupplier.html    |   241 +-
 .../hadoop/hbase/util/CollectionUtils.html      |   241 +-
 .../hbase/util/ConcatenatedLists.Iterator.html  |     2 +-
 .../hadoop/hbase/util/ConcatenatedLists.html    |     2 +-
 .../util/ConnectionCache.ConnectionInfo.html    |   383 +-
 .../hadoop/hbase/util/ConnectionCache.html      |   383 +-
 .../hbase/util/CoprocessorClassLoader.html      |     4 +-
 .../apache/hadoop/hbase/util/Counter.Cell.html  |     2 +-
 .../hadoop/hbase/util/Counter.Container.html    |     2 +-
 .../org/apache/hadoop/hbase/util/Counter.html   |     2 +-
 .../hadoop/hbase/util/DynamicClassLoader.html   |     2 +-
 .../hadoop/hbase/util/EncryptionTest.html       |   231 +-
 .../apache/hadoop/hbase/util/FSHDFSUtils.html   |     2 +-
 .../hadoop/hbase/util/FSRegionScanner.html      |     4 +-
 .../hadoop/hbase/util/FSTableDescriptors.html   |  1403 +-
 .../hbase/util/FSUtils.BlackListDirFilter.html  |   453 +-
 .../hadoop/hbase/util/FSUtils.DirFilter.html    |   453 +-
 .../hbase/util/FSUtils.FamilyDirFilter.html     |   453 +-
 .../hadoop/hbase/util/FSUtils.FileFilter.html   |   453 +-
 .../hadoop/hbase/util/FSUtils.HFileFilter.html  |   453 +-
 .../hbase/util/FSUtils.ReferenceFileFilter.html |   453 +-
 .../hbase/util/FSUtils.RegionDirFilter.html     |   453 +-
 .../hbase/util/FSUtils.UserTableDirFilter.html  |   453 +-
 .../org/apache/hadoop/hbase/util/FSUtils.html   |   453 +-
 .../hadoop/hbase/util/ForeignExceptionUtil.html |     2 +-
 ...BaseFsck.CheckRegionConsistencyWorkItem.html |  7740 +--
 .../HBaseFsck.ErrorReporter.ERROR_CODE.html     |  7740 +--
 .../hbase/util/HBaseFsck.ErrorReporter.html     |  7740 +--
 .../hbase/util/HBaseFsck.FileLockCallable.html  |  7740 +--
 .../hbase/util/HBaseFsck.HBaseFsckTool.html     |  7740 +--
 .../hadoop/hbase/util/HBaseFsck.HbckInfo.html   |  7740 +--
 .../hadoop/hbase/util/HBaseFsck.HdfsEntry.html  |  7740 +--
 .../hadoop/hbase/util/HBaseFsck.MetaEntry.html  |  7740 +--
 .../hbase/util/HBaseFsck.OnlineEntry.html       |  7740 +--
 .../util/HBaseFsck.PrintingErrorReporter.html   |  7740 +--
 .../HBaseFsck.RegionBoundariesInformation.html  |  7740 +--
 .../util/HBaseFsck.RegionRepairException.html   |  7740 +--
 .../HBaseFsck.TableInfo.HDFSIntegrityFixer.html |  7740 +--
 ...aseFsck.TableInfo.IntegrityFixSuggester.html |  7740 +--
 .../hadoop/hbase/util/HBaseFsck.TableInfo.html  |  7740 +--
 .../hbase/util/HBaseFsck.WorkItemHdfsDir.html   |  7740 +--
 .../util/HBaseFsck.WorkItemHdfsRegionInfo.html  |  7740 +--
 .../util/HBaseFsck.WorkItemOverlapMerge.html    |  7740 +--
 .../hbase/util/HBaseFsck.WorkItemRegion.html    |  7740 +--
 .../org/apache/hadoop/hbase/util/HBaseFsck.html |  7740 +--
 .../hadoop/hbase/util/HBaseFsckRepair.html      |    10 +-
 .../apache/hadoop/hbase/util/IdLock.Entry.html  |   155 +-
 .../org/apache/hadoop/hbase/util/IdLock.html    |   155 +-
 .../hadoop/hbase/util/IdReadWriteLock.html      |   190 +-
 .../apache/hadoop/hbase/util/IterableUtils.html |     2 +-
 .../apache/hadoop/hbase/util/JvmVersion.html    |     2 +-
 .../org/apache/hadoop/hbase/util/KeyLocker.html |     6 +-
 .../util/ModifyRegionUtils.RegionEditTask.html  |   260 +-
 .../util/ModifyRegionUtils.RegionFillTask.html  |   260 +-
 .../hadoop/hbase/util/ModifyRegionUtils.html    |   260 +-
 .../hadoop/hbase/util/MunkresAssignment.html    |   365 +-
 .../apache/hadoop/hbase/util/OrderedBytes.html  |     2 +-
 .../org/apache/hadoop/hbase/util/Pair.html      |     2 +-
 .../apache/hadoop/hbase/util/PoolMap.Pool.html  |    18 +-
 .../hadoop/hbase/util/PoolMap.PoolType.html     |    18 +-
 .../hadoop/hbase/util/PoolMap.ReusablePool.html |    18 +-
 .../hbase/util/PoolMap.RoundRobinPool.html      |    18 +-
 .../hbase/util/PoolMap.ThreadLocalPool.html     |    18 +-
 .../org/apache/hadoop/hbase/util/PoolMap.html   |    18 +-
 .../hadoop/hbase/util/RegionMover.Load.html     |   365 +-
 .../hbase/util/RegionMover.MoveWithAck.html     |   365 +-
 .../hbase/util/RegionMover.MoveWithoutAck.html  |   365 +-
 .../util/RegionMover.RegionMoverBuilder.html    |   365 +-
 .../hadoop/hbase/util/RegionMover.Unload.html   |   365 +-
 .../apache/hadoop/hbase/util/RegionMover.html   |   365 +-
 .../hadoop/hbase/util/RegionSizeCalculator.html |     2 +-
 .../hbase/util/RegionSplitCalculator.html       |     8 +-
 .../util/RegionSplitter.HexStringSplit.html     |     2 +-
 .../util/RegionSplitter.SplitAlgorithm.html     |     2 +-
 .../hbase/util/RegionSplitter.UniformSplit.html |     2 +-
 .../hadoop/hbase/util/RegionSplitter.html       |     2 +-
 .../hadoop/hbase/util/ServerCommandLine.html    |     2 +-
 .../hadoop/hbase/util/SortedCopyOnWriteSet.html |    20 +-
 .../apache/hadoop/hbase/util/SortedList.html    |    18 +-
 .../util/Threads.PrintThreadInfoHelper.html     |     4 +-
 .../util/Threads.PrintThreadInfoLazyHolder.html |     4 +-
 .../org/apache/hadoop/hbase/util/Threads.html   |     4 +-
 .../org/apache/hadoop/hbase/util/Triple.html    |     2 +-
 .../util/WeakObjectPool.ObjectFactory.html      |   267 -
 .../util/WeakObjectPool.ObjectReference.html    |   267 -
 .../hadoop/hbase/util/WeakObjectPool.html       |   238 +-
 .../org/apache/hadoop/hbase/util/Writables.html |     2 +-
 .../util/byterange/impl/ByteRangeHashSet.html   |     2 +-
 .../util/byterange/impl/ByteRangeTreeSet.html   |     2 +-
 ...leCorruptionChecker.MobRegionDirChecker.html |    34 +-
 ...HFileCorruptionChecker.RegionDirChecker.html |    34 +-
 .../hbase/util/hbck/HFileCorruptionChecker.html |    34 +-
 .../util/hbck/TableIntegrityErrorHandler.html   |    58 +-
 ...dantKVGenerator.ExtendedOffheapKeyValue.html |    16 +-
 .../hbase/util/test/RedundantKVGenerator.html   |    16 +-
 .../hbase/wal/AbstractFSWALProvider.Reader.html |    33 +-
 .../hadoop/hbase/wal/AbstractFSWALProvider.html |    33 +-
 .../hbase/wal/BoundedGroupingStrategy.html      |    67 +-
 .../wal/DisabledWALProvider.DisabledWAL.html    |   315 +-
 .../hadoop/hbase/wal/DisabledWALProvider.html   |   315 +-
 ...oupingProvider.IdentityGroupingStrategy.html |   495 +-
 ...GroupingProvider.RegionGroupingStrategy.html |   495 +-
 .../wal/RegionGroupingProvider.Strategies.html  |   495 +-
 .../hbase/wal/RegionGroupingProvider.html       |   495 +-
 .../hadoop/hbase/wal/WALFactory.Providers.html  |     4 +-
 .../org/apache/hadoop/hbase/wal/WALFactory.html |     4 +-
 .../apache/hadoop/hbase/wal/WALKey.Version.html |    10 +-
 .../org/apache/hadoop/hbase/wal/WALKey.html     |    10 +-
 .../hadoop/hbase/wal/WALPrettyPrinter.html      |     8 +-
 .../WALSplitter.CorruptedLogFileException.html  |  4408 +-
 .../hbase/wal/WALSplitter.EntryBuffers.html     |  4408 +-
 ...WALSplitter.LogRecoveredEditsOutputSink.html |  4408 +-
 .../wal/WALSplitter.LogReplayOutputSink.html    |  4408 +-
 .../hbase/wal/WALSplitter.MutationReplay.html   |  4408 +-
 .../hbase/wal/WALSplitter.OutputSink.html       |  4408 +-
 .../wal/WALSplitter.PipelineController.html     |  4408 +-
 .../wal/WALSplitter.RegionEntryBuffer.html      |  4408 +-
 .../wal/WALSplitter.RegionServerWriter.html     |  4408 +-
 .../hbase/wal/WALSplitter.SinkWriter.html       |  4408 +-
 .../hbase/wal/WALSplitter.WriterAndPath.html    |  4408 +-
 .../hbase/wal/WALSplitter.WriterThread.html     |  4408 +-
 .../apache/hadoop/hbase/wal/WALSplitter.html    |  4408 +-
 .../hbase/zookeeper/DrainingServerTracker.html  |   128 +-
 .../hadoop/hbase/zookeeper/HQuorumPeer.html     |     2 +-
 .../InstancePending.InstanceHolder.html         |     2 +-
 .../hadoop/hbase/zookeeper/InstancePending.html |     2 +-
 .../hbase/zookeeper/MetaTableLocator.html       |     8 +-
 .../hbase/zookeeper/MiniZooKeeperCluster.html   |     6 +-
 .../hadoop/hbase/zookeeper/PendingWatcher.html  |     2 +-
 .../hbase/zookeeper/RecoverableZooKeeper.html   |     6 +-
 .../hbase/zookeeper/RegionServerTracker.html    |   219 +-
 .../hadoop/hbase/zookeeper/ZKServerTool.html    |     2 +-
 .../zookeeper/ZKUtil.JaasConfiguration.html     |  3728 +-
 .../hbase/zookeeper/ZKUtil.NodeAndData.html     |  3728 +-
 .../ZKUtil.ZKUtilOp.CreateAndFailSilent.html    |  3728 +-
 .../ZKUtil.ZKUtilOp.DeleteNodeFailSilent.html   |  3728 +-
 .../zookeeper/ZKUtil.ZKUtilOp.SetData.html      |  3728 +-
 .../hadoop/hbase/zookeeper/ZKUtil.ZKUtilOp.html |  3728 +-
 .../apache/hadoop/hbase/zookeeper/ZKUtil.html   |  3728 +-
 .../hbase/zookeeper/ZooKeeperWatcher.html       |  1093 +-
 .../util/MetricSampleQuantiles.SampleItem.html  |     4 +-
 .../metrics2/util/MetricSampleQuantiles.html    |     4 +-
 export_control.html                             |    10 +-
 hbase-annotations/checkstyle.html               |     6 +-
 hbase-annotations/checkstyle.rss                |     4 +-
 hbase-annotations/dependencies.html             |     6 +-
 hbase-annotations/dependency-convergence.html   |    22 +-
 hbase-annotations/dependency-info.html          |     6 +-
 hbase-annotations/dependency-management.html    |     6 +-
 hbase-annotations/index.html                    |     6 +-
 hbase-annotations/integration.html              |     6 +-
 hbase-annotations/issue-tracking.html           |     6 +-
 hbase-annotations/license.html                  |     6 +-
 hbase-annotations/mail-lists.html               |     6 +-
 hbase-annotations/plugin-management.html        |     6 +-
 hbase-annotations/plugins.html                  |     6 +-
 hbase-annotations/project-info.html             |     6 +-
 hbase-annotations/project-reports.html          |     6 +-
 hbase-annotations/project-summary.html          |     6 +-
 hbase-annotations/source-repository.html        |     6 +-
 hbase-annotations/team-list.html                |   178 +-
 hbase-archetypes/dependencies.html              |     6 +-
 hbase-archetypes/dependency-convergence.html    |    22 +-
 hbase-archetypes/dependency-info.html           |     6 +-
 hbase-archetypes/dependency-management.html     |     6 +-
 .../hbase-archetype-builder/dependencies.html   |     6 +-
 .../dependency-convergence.html                 |    22 +-
 .../dependency-info.html                        |     6 +-
 .../dependency-management.html                  |     6 +-
 .../hbase-archetype-builder/index.html          |     6 +-
 .../hbase-archetype-builder/integration.html    |     6 +-
 .../hbase-archetype-builder/issue-tracking.html |     6 +-
 .../hbase-archetype-builder/license.html        |     6 +-
 .../hbase-archetype-builder/mail-lists.html     |     6 +-
 .../plugin-management.html                      |     6 +-
 .../hbase-archetype-builder/plugins.html        |     6 +-
 .../hbase-archetype-builder/project-info.html   |     6 +-
 .../project-summary.html                        |     6 +-
 .../source-repository.html                      |     6 +-
 .../hbase-archetype-builder/team-list.html      |   178 +-
 .../hbase-client-project/checkstyle.html        |     6 +-
 .../hbase-client-project/dependencies.html      |   556 +-
 .../dependency-convergence.html                 |    22 +-
 .../hbase-client-project/dependency-info.html   |     6 +-
 .../dependency-management.html                  |     6 +-
 .../hbase-client-project/index.html             |     6 +-
 .../hbase-client-project/integration.html       |     6 +-
 .../hbase-client-project/issue-tracking.html    |     6 +-
 .../hbase-client-project/license.html           |     6 +-
 .../hbase-client-project/mail-lists.html        |     6 +-
 .../hbase-client-project/plugin-management.html |     6 +-
 .../hbase-client-project/plugins.html           |     6 +-
 .../hbase-client-project/project-info.html      |     6 +-
 .../hbase-client-project/project-reports.html   |     6 +-
 .../hbase-client-project/project-summary.html   |     6 +-
 .../hbase-client-project/source-repository.html |     6 +-
 .../hbase-client-project/team-list.html         |   178 +-
 .../hbase-shaded-client-project/checkstyle.html |     6 +-
 .../dependencies.html                           |   522 +-
 .../dependency-convergence.html                 |    22 +-
 .../dependency-info.html                        |     6 +-
 .../dependency-management.html                  |     6 +-
 .../hbase-shaded-client-project/index.html      |     6 +-
 .../integration.html                            |     6 +-
 .../issue-tracking.html                         |     6 +-
 .../hbase-shaded-client-project/license.html    |     6 +-
 .../hbase-shaded-client-project/mail-lists.html |     6 +-
 .../plugin-management.html                      |     6 +-
 .../hbase-shaded-client-project/plugins.html    |     6 +-
 .../project-info.html                           |     6 +-
 .../project-reports.html                        |     6 +-
 .../project-summary.html                        |     6 +-
 .../source-repository.html                      |     6 +-
 .../hbase-shaded-client-project/team-list.html  |   178 +-
 hbase-archetypes/index.html                     |     6 +-
 hbase-archetypes/integration.html               |     6 +-
 hbase-archetypes/issue-tracking.html            |     6 +-
 hbase-archetypes/license.html                   |     6 +-
 hbase-archetypes/mail-lists.html                |     6 +-
 hbase-archetypes/plugin-management.html         |     6 +-
 hbase-archetypes/plugins.html                   |     6 +-
 hbase-archetypes/project-info.html              |     6 +-
 hbase-archetypes/project-summary.html           |     6 +-
 hbase-archetypes/source-repository.html         |     6 +-
 hbase-archetypes/team-list.html                 |   178 +-
 hbase-spark/checkstyle.html                     |    14 +-
 hbase-spark/dependencies.html                   |   493 +-
 hbase-spark/dependency-convergence.html         |    22 +-
 hbase-spark/dependency-info.html                |     6 +-
 hbase-spark/dependency-management.html          |     6 +-
 hbase-spark/index.html                          |     6 +-
 hbase-spark/integration.html                    |     6 +-
 hbase-spark/issue-tracking.html                 |     6 +-
 hbase-spark/license.html                        |     6 +-
 hbase-spark/mail-lists.html                     |     6 +-
 hbase-spark/plugin-management.html              |     6 +-
 hbase-spark/plugins.html                        |     6 +-
 hbase-spark/project-info.html                   |     6 +-
 hbase-spark/project-reports.html                |     6 +-
 hbase-spark/project-summary.html                |     6 +-
 hbase-spark/scaladocs/index/index-b.html        |     6 -
 hbase-spark/scaladocs/index/index-c.html        |     6 -
 hbase-spark/scaladocs/index/index-d.html        |    36 +-
 hbase-spark/scaladocs/index/index-e.html        |     3 -
 hbase-spark/scaladocs/index/index-h.html        |     2 +-
 hbase-spark/scaladocs/index/index-m.html        |     6 -
 hbase-spark/scaladocs/index/index-p.html        |     2 +-
 hbase-spark/scaladocs/index/index-q.html        |    12 +
 hbase-spark/scaladocs/index/index-t.html        |     6 +
 hbase-spark/scaladocs/index/index-u.html        |     2 +-
 .../hadoop/hbase/spark/AndLogicExpression.html  |     5 +-
 .../hadoop/hbase/spark/AvroException.html       |     5 +-
 .../apache/hadoop/hbase/spark/AvroSerdes$.html  |     5 +-
 .../hadoop/hbase/spark/BulkLoadPartitioner.html |     7 +-
 .../hadoop/hbase/spark/ByteArrayComparable.html |     7 +-
 .../hadoop/hbase/spark/ByteArrayWrapper.html    |     7 +-
 .../ColumnFamilyQualifierMapKeyWrapper.html     |     7 +-
 .../apache/hadoop/hbase/spark/ColumnFilter.html |     5 +-
 .../hbase/spark/ColumnFilterCollection.html     |     5 +-
 .../apache/hadoop/hbase/spark/CompareTrait.html |     5 +-
 .../hadoop/hbase/spark/DefaultSource.html       |     8 +-
 .../hbase/spark/DefaultSourceStaticUtils$.html  |     5 +-
 .../hbase/spark/DynamicLogicExpression.html     |     5 +-
 .../spark/DynamicLogicExpressionBuilder$.html   |     5 +-
 .../hbase/spark/EqualLogicExpression.html       |     5 +-
 .../spark/ExecutionRuleForUnitTesting.html      |     5 +-
 .../hbase/spark/FamiliesQualifiersValues.html   |     7 +-
 .../hbase/spark/FamilyHFileWriteOptions.html    |     7 +-
 .../hbase/spark/GreaterThanLogicExpression.html |     5 +-
 .../GreaterThanOrEqualLogicExpression.html      |     5 +-
 .../apache/hadoop/hbase/spark/HBaseContext.html |     7 +-
 .../hbase/spark/HBaseDStreamFunctions$.html     |     7 +-
 .../hadoop/hbase/spark/HBaseRDDFunctions$.html  |     7 +-
 .../hadoop/hbase/spark/HBaseRelation.html       |     5 +-
 .../hbase/spark/IsNullLogicExpression.html      |     5 +-
 .../hadoop/hbase/spark/JavaHBaseContext.html    |     7 +-
 .../hadoop/hbase/spark/KeyFamilyQualifier.html  |     7 +-
 .../hbase/spark/LessThanLogicExpression.html    |     5 +-
 .../spark/LessThanOrEqualLogicExpression.html   |     5 +-
 .../apache/hadoop/hbase/spark/NewHBaseRDD.html  |     7 +-
 .../hadoop/hbase/spark/OrLogicExpression.html   |     5 +-
 .../hbase/spark/PassThroughLogicExpression.html |     5 +-
 .../apache/hadoop/hbase/spark/RowKeyFilter.html |     5 +-
 .../apache/hadoop/hbase/spark/ScanRange.html    |     5 +-
 .../hbase/spark/SchemaConversionException.html  |     5 +-
 .../hadoop/hbase/spark/SchemaConverters$.html   |     5 +-
 .../hadoop/hbase/spark/datasources/Bound.html   |     5 +-
 .../hbase/spark/datasources/BoundRange.html     |     7 +-
 .../hbase/spark/datasources/BoundRanges.html    |     7 +-
 .../hbase/spark/datasources/BytesEncoder.html   |     7 +-
 .../hbase/spark/datasources/GetResource.html    |     5 +-
 .../spark/datasources/HBaseResources$.html      |     5 +-
 .../spark/datasources/HBaseSparkConf$.html      |   232 +-
 .../spark/datasources/HBaseTableScanRDD.html    |     5 +-
 .../spark/datasources/JavaBytesEncoder$.html    |     7 +-
 .../hbase/spark/datasources/NaiveEncoder.html   |     5 +-
 .../hadoop/hbase/spark/datasources/Points$.html |     5 +-
 .../hadoop/hbase/spark/datasources/Range$.html  |     5 +-
 .../hadoop/hbase/spark/datasources/Range.html   |     5 +-
 .../hadoop/hbase/spark/datasources/Ranges$.html |     5 +-
 .../spark/datasources/ReferencedResource.html   |     5 +-
 .../hbase/spark/datasources/RegionResource.html |     5 +-
 .../hbase/spark/datasources/Resource.html       |     5 +-
 .../hbase/spark/datasources/ScanResource.html   |     5 +-
 .../datasources/SerializableConfiguration.html  |     5 +-
 .../hbase/spark/datasources/TableResource.html  |     5 +-
 .../hadoop/hbase/spark/datasources/package.html |   100 +-
 .../org/apache/hadoop/hbase/spark/package.html  |   121 +-
 .../spark/sql/datasources/hbase/Field.html      |     5 +-
 .../datasources/hbase/HBaseTableCatalog$.html   |    12 +-
 .../datasources/hbase/HBaseTableCatalog.html    |     5 +-
 .../spark/sql/datasources/hbase/RowKey.html     |     5 +-
 .../spark/sql/datasources/hbase/SchemaMap.html  |     5 +-
 .../hbase/SchemaQualifierDefinition.html        |     5 +-
 .../spark/sql/datasources/hbase/Utils$.html     |     5 +-
 .../spark/sql/datasources/hbase/package.html    |    44 +-
 hbase-spark/source-repository.html              |     6 +-
 hbase-spark/team-list.html                      |   178 +-
 index.html                                      |    12 +-
 integration.html                                |    10 +-
 issue-tracking.html                             |    10 +-
 license.html                                    |    10 +-
 mail-lists.html                                 |    10 +-
 metrics.html                                    |    10 +-
 old_news.html                                   |    10 +-
 plugin-management.html                          |    10 +-
 plugins.html                                    |    10 +-
 poweredbyhbase.html                             |    10 +-
 project-info.html                               |    10 +-
 project-reports.html                            |    10 +-
 project-summary.html                            |    10 +-
 pseudo-distributed.html                         |    10 +-
 replication.html                                |    10 +-
 resources.html                                  |    16 +-
 source-repository.html                          |    10 +-
 sponsors.html                                   |    10 +-
 supportingprojects.html                         |    10 +-
 team-list.html                                  |   182 +-
 testapidocs/index-all.html                      |    16 +-
 .../hadoop/hbase/HBaseCommonTestingUtility.html |    35 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |   901 +-
 .../hadoop/hbase/HBaseCommonTestingUtility.html |   345 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |  8154 ++--
 .../apache/hadoop/hbase/MiniHBaseCluster.html   |     4 +-
 testdevapidocs/allclasses-frame.html            |    50 +-
 testdevapidocs/allclasses-noframe.html          |    50 +-
 testdevapidocs/constant-values.html             |   230 +-
 testdevapidocs/index-all.html                   |  1326 +-
 .../hbase/ClusterManager.ServiceType.html       |     4 +-
 .../hadoop/hbase/HBaseCommonTestingUtility.html |    45 +-
 ...lity.PortAllocator.AvailablePortChecker.html |     4 +-
 .../HBaseTestingUtility.PortAllocator.html      |    20 +-
 .../HBaseTestingUtility.SeenRowTracker.html     |    22 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |  1013 +-
 .../hbase/IntegrationTestAcidGuarantees.html    |     8 +-
 .../hadoop/hbase/IntegrationTestBase.html       |    10 +-
 ...IntegrationTestDDLMasterFailover.ACTION.html |    30 +-
 ...DDLMasterFailover.AddColumnFamilyAction.html |     8 +-
 ...ationTestDDLMasterFailover.AddRowAction.html |     6 +-
 ...asterFailover.AlterFamilyEncodingAction.html |     6 +-
 ...asterFailover.AlterFamilyVersionsAction.html |     6 +-
 ...ationTestDDLMasterFailover.ColumnAction.html |     6 +-
 ...DDLMasterFailover.CreateNamespaceAction.html |     8 +-
 ...TestDDLMasterFailover.CreateTableAction.html |     8 +-
 ...MasterFailover.DeleteColumnFamilyAction.html |     6 +-
 ...DDLMasterFailover.DeleteNamespaceAction.html |     6 +-
 ...TestDDLMasterFailover.DeleteTableAction.html |     6 +-
 ...estDDLMasterFailover.DisableTableAction.html |     6 +-
 ...TestDDLMasterFailover.EnableTableAction.html |     6 +-
 ...ationTestDDLMasterFailover.MasterAction.html |     8 +-
 ...DDLMasterFailover.ModifyNamespaceAction.html |     6 +-
 ...onTestDDLMasterFailover.NamespaceAction.html |     8 +-
 ...rationTestDDLMasterFailover.TableAction.html |     6 +-
 ...IntegrationTestDDLMasterFailover.Worker.html |    14 +-
 .../hbase/IntegrationTestDDLMasterFailover.html |    38 +-
 .../hadoop/hbase/IntegrationTestIngest.html     |     4 +-
 .../IntegrationTestIngestStripeCompactions.html |     4 +-
 .../hbase/IntegrationTestIngestWithACL.html     |     4 +-
 .../IntegrationTestIngestWithEncryption.html    |     4 +-
 .../hbase/IntegrationTestIngestWithMOB.html     |     4 +-
 .../hbase/IntegrationTestIngestWithTags.html    |     4 +-
 ...tegrationTestIngestWithVisibilityLabels.html |     4 +-
 ...egrationTestLazyCfLoading.DataGenerator.html |    24 +-
 .../hbase/IntegrationTestLazyCfLoading.html     |    10 +-
 .../hbase/IntegrationTestRegionReplicaPerf.html |     4 +-
 ...IntegrationTestRegionReplicaReplication.html |     4 +-
 .../hadoop/hbase/IntegrationTestingUtility.html |     2 +-
 .../hadoop/hbase/IntegrationTestsDriver.html    |     4 +-
 ...aseCluster.MiniHBaseClusterRegionServer.html |     6 +-
 .../hadoop/hbase/MockRegionServerServices.html  |    24 +-
 .../hbase/PerformanceEvaluation.AppendTest.html |     6 +-
 ...rformanceEvaluation.BufferedMutatorTest.html |    10 +-
 .../PerformanceEvaluation.CASTableTest.html     |    12 +-
 ...erformanceEvaluation.CheckAndDeleteTest.html |     6 +-
 ...erformanceEvaluation.CheckAndMutateTest.html |     6 +-
 .../PerformanceEvaluation.CheckAndPutTest.html  |     6 +-
 .../PerformanceEvaluation.CmdDescriptor.html    |    16 +-
 .../hbase/PerformanceEvaluation.Counter.html    |    10 +-
 ...PerformanceEvaluation.EvaluationMapTask.html |    16 +-
 .../PerformanceEvaluation.FilteredScanTest.html |    10 +-
 .../PerformanceEvaluation.IncrementTest.html    |     6 +-
 .../PerformanceEvaluation.RandomReadTest.html   |    16 +-
 ...Evaluation.RandomScanWithRange10000Test.html |     6 +-
 ...eEvaluation.RandomScanWithRange1000Test.html |     6 +-
 ...ceEvaluation.RandomScanWithRange100Test.html |     6 +-
 ...nceEvaluation.RandomScanWithRange10Test.html |     6 +-
 ...manceEvaluation.RandomScanWithRangeTest.html |    12 +-
 ...erformanceEvaluation.RandomSeekScanTest.html |     8 +-
 .../PerformanceEvaluation.RandomWriteTest.html  |     6 +-
 .../hbase/PerformanceEvaluation.RunResult.html  |    12 +-
 .../hbase/PerformanceEvaluation.ScanTest.html   |    10 +-
 ...erformanceEvaluation.SequentialReadTest.html |     6 +-
 ...rformanceEvaluation.SequentialWriteTest.html |     6 +-
 .../hbase/PerformanceEvaluation.Status.html     |     4 +-
 .../hbase/PerformanceEvaluation.TableTest.html  |    10 +-
 .../hbase/PerformanceEvaluation.Test.html       |    70 +-
 .../PerformanceEvaluation.TestOptions.html      |   234 +-
 .../hadoop/hbase/PerformanceEvaluation.html     |    94 +-
 .../hadoop/hbase/ScanPerformanceEvaluation.html |     4 +-
 .../StripeCompactionsPerformanceEvaluation.html |     4 +-
 .../TestAcidGuarantees.AtomicGetReader.html     |    32 +-
 .../TestAcidGuarantees.AtomicScanReader.html    |    30 +-
 .../TestAcidGuarantees.AtomicityWriter.html     |    32 +-
 .../apache/hadoop/hbase/TestAcidGuarantees.html |   137 +-
 .../hadoop/hbase/TestCompoundConfiguration.html |     4 +-
 ...cing.BlockCompactionsInCompletionHStore.html |     4 +-
 ...cing.BlockCompactionsInCompletionRegion.html |     4 +-
 ...tIOFencing.BlockCompactionsInPrepRegion.html |     4 +-
 .../TestIOFencing.CompactionBlockerRegion.html  |     4 +-
 .../apache/hadoop/hbase/TestInfoServers.html    |    19 +-
 .../hbase/TestInterfaceAudienceAnnotations.html |     6 +-
 ...stJMXConnectorServer.MyAccessController.html |    47 +-
 .../hbase/TestLocalHBaseCluster.MyHMaster.html  |     6 +-
 .../TestLocalHBaseCluster.MyHRegionServer.html  |     4 +-
 .../hadoop/hbase/TestMetaTableLocator.html      |     8 +-
 ...ovedRegionsCleaner.TestMockRegionServer.html |     4 +-
 .../hbase/TestPartialResultsFromClientSide.html |   220 +-
 .../apache/hadoop/hbase/TestSerialization.html  |     8 +-
 .../hadoop/hbase/backup/TestHFileArchiving.html |     8 +-
 .../hbase/backup/example/package-summary.html   |     4 +-
 .../hbase/backup/example/package-tree.html      |     4 +-
 .../hadoop/hbase/backup/package-frame.html      |    20 +
 .../hadoop/hbase/backup/package-summary.html    |    88 +
 .../hadoop/hbase/backup/package-tree.html       |    23 +
 .../apache/hadoop/hbase/backup/package-use.html |    58 +-
 .../actions/class-use/Action.ActionContext.html |    16 +-
 .../hbase/chaos/actions/package-summary.html    |     4 +-
 .../hbase/chaos/actions/package-tree.html       |     4 +-
 .../chaos/monkies/class-use/ChaosMonkey.html    |    26 +-
 .../class-use/Policy.PolicyContext.html         |     8 +-
 .../hbase/chaos/util/ChaosMonkeyRunner.html     |     4 +-
 .../hadoop/hbase/class-use/HBaseCluster.html    |     4 +-
 .../class-use/HBaseCommonTestingUtility.html    |    30 +-
 .../hbase/class-use/HBaseTestingUtility.html    |   922 +-
 .../hbase/class-use/IntegrationTestBase.html    |    24 +-
 .../class-use/IntegrationTestingUtility.html    |    30 +-
 ...aseCluster.MiniHBaseClusterRegionServer.html |     7 +-
 .../hbase/class-use/MiniHBaseCluster.html       |    50 +-
 .../MultithreadedTestUtil.TestContext.html      |    15 +-
 .../client/AbstractTestAsyncTableScan.html      |   246 +-
 ...ctionTestingUtility.SleepAtFirstRpcCall.html |    55 +-
 .../hbase/client/HConnectionTestingUtility.html |    10 +-
 .../apache/hadoop/hbase/client/TestAdmin1.html  |     4 +-
 .../client/TestAllowPartialScanResultCache.html |    31 +-
 ...ncProcess.AsyncProcessForThrowableCheck.html |     4 +-
 ...estAsyncProcess.AsyncProcessWithFailure.html |     8 +-
 .../TestAsyncProcess.CallerWithFailure.html     |     8 +-
 ...AsyncProcess.MyAsyncProcessWithReplicas.html |    24 +-
 ...stAsyncProcess.MyAsyncRequestFutureImpl.html |   114 +-
 .../TestAsyncProcess.MyClientBackoffPolicy.html |     8 +-
 ...ncProcess.MyConnectionImpl.TestRegistry.html |    12 +-
 .../TestAsyncProcess.MyConnectionImpl.html      |    12 +-
 .../TestAsyncProcess.MyConnectionImpl2.html     |    10 +-
 .../TestAsyncProcess.MyThreadPoolExecutor.html  |     6 +-
 .../hbase/client/TestAsyncProcess.RR.html       |    18 +-
 .../TestAsyncProcess.ResponseGenerator.html     |     4 +-
 .../hadoop/hbase/client/TestAsyncProcess.html   |   108 +-
 ...TestAsyncSingleRequestRpcRetryingCaller.html |    12 +-
 .../hadoop/hbase/client/TestAsyncTable.html     |     4 +-
 .../hbase/client/TestAsyncTableNoncedRetry.html |     8 +-
 ...AsyncTableScan.SimpleScanResultConsumer.html |   401 -
 .../hadoop/hbase/client/TestAsyncTableScan.html |   112 +-
 .../hadoop/hbase/client/TestAttributes.html     |     4 +-
 ...toShippedBlocks.CompactorRegionObserver.html |    31 +-
 ...ferencesIntoShippedBlocks.ScannerThread.html |     4 +-
 ...ionFromClient.CustomInnerRegionObserver.html |    35 +-
 ...Client.CustomInnerRegionObserverWrapper.html |    28 +-
 .../client/TestBlockEvictionFromClient.html     |     4 +-
 .../client/TestClientNoCluster.FakeServer.html  |    34 +-
 ...luster.ManyServersManyRegionsConnection.html |     2 +-
 .../TestClientNoCluster.MetaRowsComparator.html |     8 +-
 .../hbase/client/TestClientNoCluster.html       |    38 +-
 ...lientOperationInterrupt.TestCoprocessor.html |    29 +-
 .../TestClientScanner.MockClientScanner.html    |     4 +-
 ...rRPCTimeout.RegionServerWithScanTimeout.html |     4 +-
 .../TestCompleteResultScanResultCache.html      |    30 +-
 .../TestEnableTable.MasterSyncObserver.html     |    28 +-
 ...entSide.ExceptionInReseekRegionObserver.html |    29 +-
 .../hbase/client/TestFromClientSide3.html       |    82 +-
 .../org/apache/hadoop/hbase/client/TestGet.html |    41 +-
 .../client/TestHCM.SleepAndFailFirstTime.html   |    37 +-
 .../hbase/client/TestHCM.SleepCoprocessor.html  |    35 +-
 .../TestHCM.SleepLongerAtFirstCoprocessor.html  |    29 +-
 .../org/apache/hadoop/hbase/client/TestHCM.html |     2 +-
 ...taCache.RegionServerWithFakeRpcServices.html |     4 +-
 .../client/TestMobCloneSnapshotFromClient.html  |     2 +-
 .../hadoop/hbase/client/TestPutWriteToWal.html  |     4 +-
 ...icaWithCluster.RegionServerStoppedCopro.html |    31 +-
 .../TestReplicaWithCluster.SlowMeCopro.html     |    29 +-
 .../client/TestReplicasClient.SlowMeCopro.html  |    33 +-
 .../hadoop/hbase/client/TestReplicasClient.html |     4 +-
 .../hadoop/hbase/client/TestScannerTimeout.html |     4 +-
 .../client/TestScannersFromClientSide.html      |   157 +-
 .../hbase/client/TestZKAsyncRegistry.html       |    34 +-
 ...AsyncTableScan.SimpleScanResultConsumer.html |   125 -
 .../hadoop/hbase/client/package-frame.html      |    18 +-
 .../hadoop/hbase/client/package-summary.html    |   117 +-
 .../hadoop/hbase/client/package-tree.html       |    73 +-
 .../apache/hadoop/hbase/client/package-use.html |    18 +-
 .../replication/TestReplicationAdmin.html       |    67 +-
 ...usters.TestUpdatableReplicationEndpoint.html |    18 +-
 .../TestReplicationAdminWithClusters.html       |    62 +-
 .../constraint/TestConstraints.AlsoWorks.html   |     6 +-
 .../hbase/constraint/TestConstraints.html       |     8 +-
 .../coprocessor/SampleRegionWALObserver.html    |    37 +-
 .../hbase/coprocessor/SimpleRegionObserver.html |   149 +-
 .../hbase/coprocessor/TestClassLoading.html     |    81 +-
 .../TestCoprocessorConfiguration.html           |     4 +-
 ...tCoprocessorHost.SimpleRegionObserverV2.html |    26 +-
 .../TestCoprocessorInterface.CoprocessorII.html |    26 +-
 ...estCoprocessorInterface.CoprocessorImpl.html |    42 +-
 .../TestHTableWrapper.DummyRegionObserver.html  |    31 +-
 .../TestIncrementTimeRange.MyObserver.html      |    26 +-
 ...rExceptionWithAbort.BuggyMasterObserver.html |    30 +-
 ...ExceptionWithRemove.BuggyMasterObserver.html |    30 +-
 .../TestMasterObserver.CPMasterObserver.html    |   454 +-
 .../hbase/coprocessor/TestMasterObserver.html   |    40 +-
 ...Coprocessor.CustomThreadPoolCoprocessor.html |    29 +-
 ...Coprocessor.SendToOtherTableCoprocessor.html |    29 +-
 .../coprocessor/TestOpenTableInCoprocessor.html |     6 +-
 ...estRegionObserverBypass.TestCoprocessor.html |    29 +-
 ...mCoprocessors.TestDeleteCellCoprocessor.html |    29 +-
 ...oprocessors.TestDeleteFamilyCoprocessor.html |    29 +-
 ...omCoprocessors.TestDeleteRowCoprocessor.html |    29 +-
 ...processors.TestMultiMutationCoprocessor.html |    29 +-
 ...tationsFromCoprocessors.TestWALObserver.html |    29 +-
 ...gionObserverInterface.EvenOnlyCompactor.html |    33 +-
 ...ook.CompactionCompletionNotifyingRegion.html |    16 +-
 ...erverScannerOpenHook.EmptyRegionObsever.html |    38 +-
 ...ionObserverScannerOpenHook.NoDataFilter.html |    10 +-
 ...verScannerOpenHook.NoDataFromCompaction.html |    35 +-
 ...ObserverScannerOpenHook.NoDataFromFlush.html |    43 +-
 ...nObserverScannerOpenHook.NoDataFromScan.html |    35 +-
 .../TestRegionObserverScannerOpenHook.html      |    20 +-
 .../TestRegionObserverStacking.ObserverA.html   |    29 +-
 .../TestRegionObserverStacking.ObserverB.html   |    29 +-
 .../TestRegionObserverStacking.ObserverC.html   |    29 +-
 ...essorEndpoint.DummyRegionServerEndpoint.html |    14 +-
 .../TestRegionServerCoprocessorEndpoint.html    |     2 +-
 ...rExceptionWithAbort.BuggyRegionObserver.html |    26 +-
 ...nWithAbort.FailedInitializationObserver.html |    26 +-
 ...ExceptionWithRemove.BuggyRegionObserver.html |    26 +-
 ...estRowProcessorEndpoint.IncrementRunner.html |     6 +-
 ...essorEndpoint.FriendsOfFriendsProcessor.html |    24 +-
 ...essorEndpoint.IncrementCounterProcessor.html |    22 +-
 ...t.RowProcessorEndpoint.RowSwapProcessor.html |    24 +-
 ...t.RowProcessorEndpoint.TimeoutProcessor.html |    22 +-
 ...wProcessorEndpoint.RowProcessorEndpoint.html |     6 +-
 ...TestRowProcessorEndpoint.SwapRowsRunner.html |     6 +-
 .../coprocessor/TestRowProcessorEndpoint.html   |    14 +-
 .../hbase/coprocessor/TestWALObserver.html      |    28 +-
 .../hadoop/hbase/coprocessor/package-frame.html |     1 +
 .../hbase/coprocessor/package-summary.html      |   146 +-
 .../hadoop/hbase/coprocessor/package-tree.html  |    95 +-
 .../hbase/filter/TestColumnPrefixFilter.html    |     4 +-
 ...stFirstKeyValueMatchingQualifiersFilter.html |     4 +-
 .../hbase/filter/TestMultiRowRangeFilter.html   |    28 +-
 .../filter/TestMultipleColumnPrefixFilter.html  |     6 +-
 .../hbase/io/TestBoundedByteBufferPool.html     |   429 -
 .../io/TestByteBufferListOutputStream.html      |     4 +-
 .../io/class-use/TestBoundedByteBufferPool.html |   125 -
 .../hbase/io/encoding/TestChangingEncoding.html |    32 +-
 .../io/encoding/TestDataBlockEncoders.html      |    14 +-
 .../io/encoding/TestPrefixTreeEncoding.html     |    34 +-
 .../hadoop/hbase/io/hfile/TestCacheOnWrite.html |    10 +-
 .../hfile/TestHFileBlock.BlockReaderThread.html |    16 +-
 .../hadoop/hbase/io/hfile/TestHFileBlock.html   |    12 +-
 .../hadoop/hbase/io/hfile/TestSeekTo.html       |     2 +-
 .../hbase/io/hfile/bucket/TestFileIOEngine.html |     6 +-
 .../hadoop/hbase/io/hfile/package-summary.html  |     2 +-
 .../apache/hadoop/hbase/io/package-frame.html   |     1 -
 .../apache/hadoop/hbase/io/package-summary.html |    24 +-
 .../apache/hadoop/hbase/io/package-tree.html    |     1 -
 .../hbase/ipc/TestSimpleRpcScheduler.html       |     2 +-
 ...nTestBulkLoad.SlowMeCoproScanOperations.html |    31 +-
 .../mapreduce/IntegrationTestBulkLoad.html      |     4 +-
 ...IntegrationTestTableSnapshotInputFormat.html |     4 +-
 .../NMapInputFormat.NullInputSplit.html         |    12 +-
 .../NMapInputFormat.SingleRecordReader.html     |    22 +-
 .../hadoop/hbase/mapreduce/NMapInputFormat.html |     6 +-
 .../TableSnapshotInputFormatTestBase.html       |     2 +-
 .../hbase/mapreduce/TestHFileOutputFormat2.html |    74 +-
 ...TestImportExport.TableWALActionListener.html |     2 +-
 .../hbase/mapreduce/TestImportExport.html       |     2 +-
 ...butes.OperationAttributesTestController.html |    29 +-
 ...stImportTSVWithTTLs.TTLCheckingObserver.html |    29 +-
 .../hbase/mapreduce/TestTableMapReduceBase.html |     2 +-
 ...tTimeRangeMapRed.ProcessTimeRangeMapper.html |    14 +-
 .../hbase/mapreduce/TestTimeRangeMapRed.html    |    22 +-
 .../hbase/mapreduce/TestWALRecordReader.html    |    18 +-
 .../TableSnapshotInputFormatTestBase.html       |    10 +-
 .../class-use/TestTableMapReduceBase.html       |    10 +-
 .../hadoop/hbase/mapreduce/package-summary.html |     4 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |    10 +-
 .../hadoop/hbase/mapreduce/package-use.html     |    22 +-
 .../MockRegionServer.RegionNameAndIndex.html    |    12 +-
 .../hadoop/hbase/master/MockRegionServer.html   |   206 +-
 ...tAssignmentListener.DummyServerListener.html |     7 +
 ...signmentManagerOnCluster.MyLoadBalancer.html |    16 +-
 ...TestAssignmentManagerOnCluster.MyMaster.html |    14 +-
 ...gnmentManagerOnCluster.MyRegionObserver.html |    53 +-
 ...signmentManagerOnCluster.MyRegionServer.html |    16 +-
 .../master/TestAssignmentManagerOnCluster.html  |    64 +-
 .../hadoop/hbase/master/TestCatalogJanitor.html |    22 +-
 .../master/TestMasterMetrics.MyMaster.html      |     4 +-
 .../TestMetaShutdownHandler.MyRegionServer.html |     4 +-
 .../hbase/master/TestRegionPlacement.html       |    26 +-
 .../master/balancer/TestBaseLoadBalancer.html   |     2 +-
 .../balancer/TestDefaultLoadBalancer.html       |     2 +-
 .../balancer/TestRSGroupBasedLoadBalancer.html  |    38 +-
 ...ochasticLoadBalancer.ForTestRackManager.html |     8 +-
 ...asticLoadBalancer.ForTestRackManagerOne.html |     6 +-
 .../balancer/TestStochasticLoadBalancer.html    |    44 +-
 .../hadoop/hbase/master/package-tree.html       |     6 +-
 ...ProcedureSchedulerPerformanceEvaluation.html |     4 +-
 ...obCompactor.CompactTwoLatestHfilesCopro.html |    35 +-
 .../hbase/mob/compactions/TestMobCompactor.html |   166 +-
 ...obCompactor.FaultyDistributedFileSystem.html |    14 +-
 .../TestPartitionedMobCompactor.html            |   333 +-
 .../hbase/mob/compactions/package-frame.html    |     1 +
 .../hbase/mob/compactions/package-summary.html  |     4 +
 .../hbase/mob/compactions/package-tree.html     |    15 +-
 .../hbase/monitoring/TestTaskMonitor.html       |    26 +-
 ...NamespaceAuditor.CPRegionServerObserver.html |    43 +-
 .../TestNamespaceAuditor.CustomObserver.html    |    47 +-
 ...TestNamespaceAuditor.MasterSyncObserver.html |    44 +-
 .../hbase/namespace/TestNamespaceAuditor.html   |    56 +-
 .../hadoop/hbase/namespace/package-tree.html    |    20 +-
 .../org/apache/hadoop/hbase/package-frame.html  |     1 +
 .../apache/hadoop/hbase/package-summary.html    |   314 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    29 +-
 .../org/apache/hadoop/hbase/package-use.html    |    21 +-
 .../hbase/procedure/TestProcedureMember.html    |     4 +-
 .../hadoop/hbase/procedure/TestZKProcedure.html |    18 +-
 ...ZKProcedureControllers.StartControllers.html |    16 +-
 .../procedure/TestZKProcedureControllers.html   |     2 +-
 ...dulerConcurrency.TestProcedureWithEvent.html |     8 +-
 .../TestYieldProcedures.TestScheduler.html      |     4 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 ...ProcedureWALLoaderPerformanceEvaluation.html |     4 +-
 .../wal/ProcedureWALPerformanceEvaluation.html  |     4 +-
 .../regionserver/DataBlockEncodingTool.html     |    32 +-
 .../regionserver/NoOpScanPolicyObserver.html    |    41 +-
 .../hbase/regionserver/OOMERegionServer.html    |    16 +-
 ...ble.RegionScannerToResultScannerAdaptor.html |    45 +-
 .../hbase/regionserver/RegionAsTable.html       |    90 +-
 .../TestAtomicOperation.MockHRegion.html        |     4 +-
 .../regionserver/TestBulkLoad.WalMatcher.html   |    18 +-
 .../hadoop/hbase/regionserver/TestBulkLoad.html |    34 +-
 ...MemStore.EnvironmentEdgeForMemstoreTest.html |    10 +-
 .../regionserver/TestCompactingMemStore.html    |    52 +-
 .../TestCompactingToCellArrayMapMemStore.html   |    30 +-
 ...toreMockMaker.BlockingCompactionContext.html |    14 +-
 .../TestCompaction.BlockingStoreMockMaker.html  |    18 +-
 .../TestCompaction.DummyCompactor.html          |     6 +-
 ...on.StoreMockMaker.TestCompactionContext.html |    12 +-
 .../TestCompaction.StoreMockMaker.html          |    18 +-
 ...stCompaction.TrackableCompactionRequest.html |     8 +-
 .../hbase/regionserver/TestCompaction.html      |     6 +-
 ...oncurrentClose.WaitingHRegionFileSystem.html |     2 +-
 .../TestCompactionArchiveIOException.html       |     4 +-
 .../regionserver/TestCompactionPolicy.html      |     4 +-
 ...stCorruptedRegionStoreFile.ScanInjector.html |    12 +-
 .../TestCorruptedRegionStoreFile.html           |    80 +-
 ...MemStore.EnvironmentEdgeForMemstoreTest.html |    10 +-
 ...TestDefaultMemStore.ReadOwnWritesTester.html |    24 +-
 .../hbase/regionserver/TestDefaultMemStore.html |    64 +-
 .../TestDefaultStoreEngine.DummyCompactor.html  |     2 +-
 ...estDefaultStoreEngine.DummyStoreFlusher.html |     6 +-
 .../TestFSErrorsExposed.FaultyFileSystem.html   |     6 +-
 .../TestFSErrorsExposed.FaultyInputStream.html  |    12 +-
 .../hbase/regionserver/TestHMobStore.html       |    42 +-
 .../regionserver/TestHRegion.Appender.html      |    18 +-
 .../regionserver/TestHRegion.FlushThread.html   |    16 +-
 .../TestHRegion.HRegionWithSeqId.html           |    10 +-
 .../regionserver/TestHRegion.Incrementer.html   |    18 +-
 .../regionserver/TestHRegion.PutThread.html     |    24 +-
 .../hadoop/hbase/regionserver/TestHRegion.html  |   172 +-
 .../regionserver/TestHRegionReplayEvents.html   |    18 +-
 ...tHRegionServerBulkLoad.AtomicScanReader.html |    16 +-
 ...ionServerBulkLoad.FindBulkHBaseListener.html |    10 +-
 .../TestHRegionServerBulkLoad.MyObserver.html   |    37 +-
 .../regionserver/TestHRegionServerBulkLoad.html |    10 +-
 .../TestHRegionServerBulkLoadWithOldClient.html |     2 +-
 ...gionServerBulkLoadWithOldSecureEndpoint.html |     2 +-
 .../TestHeapMemoryManager.BlockCacheStub.html   |    42 +-
 ...HeapMemoryManager.CustomHeapMemoryTuner.html |    14 +-
 ...stHeapMemoryManager.MemstoreFlusherStub.html |    20 +-
 ...emoryManager.RegionServerAccountingStub.html |    28 +-
 .../TestHeapMemoryManager.RegionServerStub.html |    32 +-
 .../regionserver/TestHeapMemoryManager.html     |    46 +-
 .../hbase/regionserver/TestMajorCompaction.html |    20 +-
 .../regionserver/TestMemStoreChunkPool.html     |     4 +-
 .../regionserver/TestPerColumnFamilyFlush.html  |    22 +-
 ...lledWhenInitializing.MockedRegionServer.html |   369 -
 .../TestRSKilledWhenInitializing.html           |   138 +-
 .../hbase/regionserver/TestRSStatusServlet.html |     4 +-
 ...egionMergeTransactionOnCluster.MyMaster.html |    12 +-
 ...ransactionOnCluster.MyMasterRpcServices.html |    10 +-
 .../TestRegionMergeTransactionOnCluster.html    |    66 +-
 ...egionServerReportForDuty.MyRegionServer.html |     4 +-
 .../regionserver/TestReversibleScanners.html    |    28 +-
 ...annerHeartbeatMessages.HeartbeatHRegion.html |     4 +-
 ...eartbeatMessages.HeartbeatHRegionServer.html |     4 +-
 ...rRetriableFailure.FaultyScannerObserver.html |    29 +-
 .../TestServerNonceManager.TestRunnable.html    |     4 +-
 .../hbase/regionserver/TestSplitLogWorker.html  |     4 +-
 ...ionOnCluster.FailingSplitMasterObserver.html |    28 +-
 .../TestSplitTransactionOnCluster.MyMaster.html |     6 +-
 .../TestStore.DummyStoreEngine.html             |     8 +-
 .../TestStore.FaultyFileSystem.html             |    12 +-
 .../TestStore.FaultyOutputStream.html           |    12 +-
 .../hadoop/hbase/regionserver/TestStore.html    |    46 +-
 ...RefresherChore.FailingHRegionFileSystem.html |     2 +-
 .../TestTags.TestCoprocessorForTags.html        |    35 +-
 ...tingMemStoreFlush.ConcurrentPutRunnable.html |    10 +-
 .../TestWalAndCompactingMemStoreFlush.html      |    10 +-
 ...lledWhenInitializing.MockedRegionServer.html |   125 -
 .../hbase/regionserver/package-frame.html       |     6 +-
 .../hbase/regionserver/package-summary.html     |    36 +-
 .../hadoop/hbase/regionserver/package-tree.html |    28 +-
 ...bstractTestWALReplay.CustomStoreFlusher.html |    14 +-
 .../wal/AbstractTestWALReplay.MockWAL.html      |    10 +-
 .../wal/AbstractTestWALReplay.TestFlusher.html  |    16 +-
 .../regionserver/wal/AbstractTestWALReplay.html |   124 +-
 ...ActionsListener.DummyWALActionsListener.html |    16 +-
 ...estMasterReplication.CoprocessorCounter.html |    47 +-
 .../replication/TestMasterReplication.html      |    98 +-
 .../replication/TestNamespaceReplication.html   |     8 +-
 .../hbase/replication/TestReplicationBase.html  |    71 +-
 .../replication/TestReplicationSmallTests.html  |    14 +-
 ...onWithTags.TestCoprocessorForTagsAtSink.html |    29 +-
 ...WithTags.TestCoprocessorForTagsAtSource.html |    29 +-
 .../hadoop/hbase/replication/package-tree.html  |    10 +-
 ...eplicationEndpointNoMaster.WALEditCopro.html |    29 +-
 ...onSourceManager.DummyNodeFailoverWorker.html |    16 +-
 ...estReplicationSourceManager.DummyServer.html |    32 +-
 ...er.FailInitializeDummyReplicationSource.html |     6 +-
 .../TestReplicationSourceManager.html           |    26 +-
 .../replication/regionserver/package-tree.html  |     6 +-
 .../rest/class-use/HBaseRESTTestingUtility.html |    28 +-
 .../hbase/rsgroup/IntegrationTestRSGroup.html   |    19 +-
 .../hadoop/hbase/rsgroup/TestRSGroups.html      |    14 +-
 .../hadoop/hbase/rsgroup/TestRSGroupsBase.html  |   175 +-
 .../hbase/rsgroup/TestRSGroupsOfflineMode.html  |    41 +-
 .../rsgroup/VerifyingRSGroupAdminClient.html    |    36 +-
 .../rsgroup/class-use/TestRSGroupsBase.html     |     3 +-
 .../hadoop/hbase/rsgroup/package-summary.html   |     3 +-
 .../SecureTestUtil.MasterSyncObserver.html      |    28 +-
 .../TestAccessController.PingCoprocessor.html   |    20 +-
 .../security/access/TestAccessController.html   |   216 +-
 ...estAccessController2.MyAccessController.html |    47 +-
 ...ccessController3.FaultyAccessController.html |    47 +-
 .../security/access/TestNamespaceCommands.html  |     4 +-
 .../hbase/security/access/package-frame.html    |     1 +
 .../hbase/security/access/package-summary.html  |    12 +-
 .../hbase/security/access/package-tree.html     |    17 +-
 ...entication.NonShadedBlockingRpcCallback.html |    12 +-
 .../TestTokenAuthentication.TokenServer.html    |     6 +-
 .../security/token/TestTokenAuthentication.html |    18 +-
 ...estVisibilityLabelsReplication.SimpleCP.html |    35 +-
 ...eplication.TestCoprocessorForTagsAtSink.html |    37 +-
 ...on.VisibilityReplicationEndPointForTest.html |    10 +-
 .../TestVisibilityLabelsReplication.html        |    84 +-
 .../hbase/security/visibility/package-tree.html |     8 +-
 ...napshotClientRetries.MasterSyncObserver.html |    28 +-
 .../TestExportSnapshot.RegionPredicate.html     |     4 +-
 .../hadoop/hbase/snapshot/package-tree.html     |     6 +-
 ...st.Search.WALSearcher.WALMapperSearcher.html |     2 +-
 ...ionTestBigLinkedList.Search.WALSearcher.html |    19 +-
 .../test/IntegrationTestBigLinkedList.html      |     4 +-
 ...egrationTestBigLinkedListWithVisibility.html |     4 +-
 ...AndVerify.WALSearcher.WALMapperSearcher.html |     2 +-
 ...ntegrationTestLoadAndVerify.WALSearcher.html |    19 +-
 .../test/IntegrationTestLoadAndVerify.html      |     4 +-
 .../hbase/test/IntegrationTestReplication.html  |     4 +-
 ...undedMultiGetRequestsWithRegionReplicas.html |     4 +-
 ...stTimeBoundedRequestsWithRegionReplicas.html |     4 +-
 ...tionTestWithCellVisibilityLoadAndVerify.html |     4 +-
 .../test/IntegrationTestZKAndFSPermissions.html |     4 +-
 .../test/class-use/MetricsAssertHelper.html     |    18 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 .../hadoop/hbase/thrift/TestCallQueue.html      |     8 +-
 .../hbase/thrift/TestThriftServerCmdLine.html   |     6 +-
 .../hadoop/hbase/thrift/package-tree.html       |     6 +-
 .../thrift2/TestThriftHBaseServiceHandler.html  |   166 +-
 .../hadoop/hbase/thrift2/package-tree.html      |     6 +-
 .../trace/IntegrationTestSendTraceRequests.html |     4 +-
 .../util/AbstractHBaseToolTest.TestTool.html    |     4 +-
 .../BaseTestHBaseFsck.MasterSyncObserver.html   |    40 +-
 .../BaseTestHBaseFsck.MockErrorReporter.html    |    34 +-
 .../hadoop/hbase/util/BaseTestHBaseFsck.html    |    20 +-
 .../apache/hadoop/hbase/util/LoadTestTool.html  |     6 +-
 ...ultiThreadedAction.DefaultDataGenerator.html |     4 +-
 .../MultiThreadedAction.ProgressReporter.html   |     2 +-
 .../hadoop/hbase/util/MultiThreadedAction.html  |    26 +-
 ...dLocalHBaseCluster.LocalDaemonLogTailer.html |    20 +-
 .../util/ProcessBasedLocalHBaseCluster.html     |    38 +-
 .../hadoop/hbase/util/RestartMetaTest.html      |     4 +-
 .../TestCoprocessorScanPolicy.ScanObserver.html |    59 +-
 .../hbase/util/TestCoprocessorScanPolicy.html   |    22 +-
 .../hbase/util/TestHBaseFsckReplicas.html       |    47 +-
 .../hadoop/hbase/util/TestHBaseFsckTwoRS.html   |    61 +-
 .../TestIdReadWriteLock.IdLockTestThread.html   |     8 +-
 .../hadoop/hbase/util/TestIdReadWriteLock.html  |    39 +-
 .../hbase/util/TestRegionSplitCalculator.html   |    28 +-
 .../hadoop/hbase/util/TestSortedList.html       |     4 +-
 .../hadoop/hbase/util/TestWeakObjectPool.html   |     4 +-
 .../hbase/util/class-use/TestTableName.html     |    14 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    12 +-
 .../apache/hadoop/hbase/wal/FaultyFSLog.html    |     2 +-
 .../hbase/wal/IOTestProvider.IOTestWAL.html     |     2 +-
 .../TestWALFactory.DumbWALActionsListener.html  |    10 +-
 .../apache/hadoop/hbase/wal/TestWALFactory.html |    16 +-
 .../hadoop/hbase/wal/TestWALFiltering.html      |     6 +-
 .../apache/hadoop/hbase/wal/TestWALMethods.html |    58 +-
 .../hbase/wal/TestWALReaderOnSecureWAL.html     |     8 +-
 ...ALPerformanceEvaluation.WALPutBenchmark.html |     2 +-
 .../hbase/wal/WALPerformanceEvaluation.html     |    28 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 .../hadoop/hbase/zookeeper/TestZKUtil.html      |    48 +-
 testdevapidocs/overview-frame.html              |     1 +
 testdevapidocs/overview-summary.html            |   214 +-
 testdevapidocs/overview-tree.html               |   317 +-
 testdevapidocs/package-list                     |     1 +
 testdevapidocs/serialized-form.html             |    17 +-
 .../apache/hadoop/hbase/ClassFinder.And.html    |    10 +-
 .../hadoop/hbase/ClassFinder.ClassFilter.html   |    10 +-
 .../hbase/ClassFinder.FileFilterWithName.html   |    10 +-
 .../hbase/ClassFinder.FileNameFilter.html       |    10 +-
 .../apache/hadoop/hbase/ClassFinder.Not.html    |    10 +-
 .../hbase/ClassFinder.ResourcePathFilter.html   |    10 +-
 .../org/apache/hadoop/hbase/ClassFinder.html    |    10 +-
 ...ter.ServerNameIgnoreStartCodeComparator.html |    12 +-
 .../hadoop/hbase/DistributedHBaseCluster.html   |    12 +-
 ...lusterManager.CommandProvider.Operation.html |     2 +-
 .../HBaseClusterManager.CommandProvider.html    |     2 +-
 ...lusterManager.HBaseShellCommandProvider.html |     2 +-
 ...usterManager.HadoopShellCommandProvider.html |     2 +-
 .../hbase/HBaseClusterManager.RemoteShell.html  |     2 +-
 ...erManager.ZookeeperShellCommandProvider.html |     2 +-
 .../hadoop/hbase/HBaseClusterManager.html       |     2 +-
 .../hadoop/hbase/HBaseCommonTestingUtility.html |   345 +-
 ...lity.PortAllocator.AvailablePortChecker.html |  8154 ++--
 .../HBaseTestingUtility.PortAllocator.html      |  8154 ++--
 .../HBaseTestingUtility.SeenRowTracker.html     |  8154 ++--
 .../hadoop/hbase/HBaseTestingUtility.html       |  8154 ++--
 .../org/apache/hadoop/hbase/HTestConst.html     |     2 +-
 ...IntegrationTestDDLMasterFailover.ACTION.html |  1732 +-
 ...DDLMasterFailover.AddColumnFamilyAction.html |  1732 +-
 ...ationTestDDLMasterFailover.AddRowAction.html |  1732 +-
 ...asterFailover.AlterFamilyEncodingAction.html |  1732 +-
 ...asterFailover.AlterFamilyVersionsAction.html |  1732 +-
 ...ationTestDDLMasterFailover.ColumnAction.html |  1732 +-
 ...DDLMasterFailover.CreateNamespaceAction.html |  1732 +-
 ...TestDDLMasterFailover.CreateTableAction.html |  1732 +-
 ...MasterFailover.DeleteColumnFamilyAction.html |  1732 +-
 ...DDLMasterFailover.DeleteNamespaceAction.html |  1732 +-
 ...TestDDLMasterFailover.DeleteTableAction.html |  1732 +-
 ...estDDLMasterFailover.DisableTableAction.html |  1732 +-
 ...TestDDLMasterFailover.EnableTableAction.html |  1732 +-
 ...ationTestDDLMasterFailover.MasterAction.html |  1732 +-
 ...DDLMasterFailover.ModifyNamespaceAction.html |  1732 +-
 ...onTestDDLMasterFailover.NamespaceAction.html |  1732 +-
 ...rationTestDDLMasterFailover.TableAction.html |  1732 +-
 ...IntegrationTestDDLMasterFailover.Worker.html |  1732 +-
 .../hbase/IntegrationTestDDLMasterFailover.html |  1732 +-
 .../hadoop/hbase/IntegrationTestIngest.html     |     4 +-
 .../hbase/IntegrationTestIngestWithACL.html     |     2 +-
 .../hbase/IntegrationTestIngestWithMOB.html     |     4 +-
 .../hbase/IntegrationTestIngestWithTags.html    |     2 +-
 ...tegrationTestIngestWithVisibilityLabels.html |    18 +-
 ...egrationTestLazyCfLoading.DataGenerator.html |   401 +-
 .../hbase/IntegrationTestLazyCfLoading.html     |   401 +-
 ...nTestRegionReplicaPerf.PerfEvalCallable.html |     4 +-
 .../IntegrationTestRegionReplicaPerf.Stat.html  |     4 +-
 ...ationTestRegionReplicaPerf.TimingResult.html |     4 +-
 .../hbase/IntegrationTestRegionReplicaPerf.html |     4 +-
 ...eplication.DelayingMultiThreadedUpdater.html |     4 +-
 ...Replication.DelayingMultiThreadedWriter.html |     4 +-
 ...IntegrationTestRegionReplicaReplication.html |     4 +-
 .../apache/hadoop/hbase/MetaMockingUtil.html    |     2 +-
 ...aseCluster.MiniHBaseClusterRegionServer.html |     4 +-
 ...eCluster.SingleFileSystemShutdownThread.html |     4 +-
 .../apache/hadoop/hbase/MiniHBaseCluster.html   |     4 +-
 .../hadoop/hbase/MockRegionServerServices.html  |    10 +-
 ...ltithreadedTestUtil.RepeatingTestThread.html |     2 +-
 .../MultithreadedTestUtil.TestContext.html      |     2 +-
 .../hbase/MultithreadedTestUtil.TestThread.html |     2 +-
 .../hadoop/hbase/MultithreadedTestUtil.html     |     2 +-
 .../hbase/PerformanceEvaluation.AppendTest.html |  4410 +-
 ...rformanceEvaluation.BufferedMutatorTest.html |  4410 +-
 .../PerformanceEvaluation.CASTableTest.html     |  4410 +-
 ...erformanceEvaluation.CheckAndDeleteTest.html |  4410 +-
 ...erformanceEvaluation.CheckAndMutateTest.html |  4410 +-
 .../PerformanceEvaluation.CheckAndPutTest.html  |  4410 +-
 .../PerformanceEvaluation.CmdDescriptor.html    |  4410 +-
 .../hbase/PerformanceEvaluation.Counter.html    |  4410 +-
 ...PerformanceEvaluation.EvaluationMapTask.html |  4410 +-
 .../PerformanceEvaluation.FilteredScanTest.html |  4410 +-
 .../PerformanceEvaluation.IncrementTest.html    |  4410 +-
 .../PerformanceEvaluation.RandomReadTest.html   |  4410 +-
 ...Evaluation.RandomScanWithRange10000Test.html |  4410 +-
 ...eEvaluation.RandomScanWithRange1000Test.html |  4410 +-
 ...ceEvaluation.RandomScanWithRange100Test.html |  4410 +-
 ...nceEvaluation.RandomScanWithRange10Test.html |  4410 +-
 ...manceEvaluation.RandomScanWithRangeTest.html |  4410 +-
 ...erformanceEvaluation.RandomSeekScanTest.html |  4410 +-
 .../PerformanceEvaluation.RandomWriteTest.html  |  4410 +-
 .../hbase/PerformanceEvaluation.RunResult.html  |  4410 +-
 .../hbase/PerformanceEvaluation.ScanTest.html   |  4410 +-
 ...erformanceEvaluation.SequentialReadTest.html |  4410 +-
 ...rformanceEvaluation.SequentialWriteTest.html |  4410 +-
 .../hbase/PerformanceEvaluation.Status.html     |  4410 +-
 .../hbase/PerformanceEvaluation.TableTest.html  |  4410 +-
 .../hbase/PerformanceEvaluation.Test.html       |  4410 +-
 .../PerformanceEvaluation.TestOptions.html      |  4410 +-
 .../hadoop/hbase/PerformanceEvaluation.html     |  4410 +-
 .../hbase/PerformanceEvaluationCommons.html     |     2 +-
 .../RESTApiClusterManager.RoleCommand.html      |     2 +-
 .../hbase/RESTApiClusterManager.Service.html    |     2 +-
 .../hadoop/hbase/RESTApiClusterManager.html     |     2 +-
 .../hadoop/hbase/ResourceChecker.Phase.html     |     2 +-
 .../hbase/ResourceChecker.ResourceAnalyzer.html |     2 +-
 .../apache/hadoop/hbase/ResourceChecker.html    |     2 +-
 ...tener.AvailableMemoryMBResourceAnalyzer.html |     6 +-
 ...tener.MaxFileDescriptorResourceAnalyzer.html |     6 +-
 ...ener.OpenFileDescriptorResourceAnalyzer.html |     6 +-
 ...itListener.ProcessCountResourceAnalyzer.html |     6 +-
 ...tener.SystemLoadAverageResourceAnalyzer.html |     6 +-
 ...kerJUnitListener.ThreadResourceAnalyzer.html |     6 +-
 .../hbase/ResourceCheckerJUnitListener.html     |     6 +-
 .../TestAcidGuarantees.AtomicGetReader.html     |   971 +-
 .../TestAcidGuarantees.AtomicScanReader.html    |   971 +-
 .../TestAcidGuarantees.AtomicityWriter.html     |   971 +-
 .../apache/hadoop/hbase/TestAcidGuarantees.html |   971 +-
 .../hadoop/hbase/TestCellUtil.TestCell.html     |     8 +-
 .../hbase/TestCellUtil.TestCellScannable.html   |     8 +-
 .../hbase/TestCellUtil.TestCellScanner.html     |     8 +-
 .../org/apache/hadoop/hbase/TestCellUtil.html   |     8 +-
 .../hadoop/hbase/TestCheckTestClasses.html      |     2 +-
 .../hbase/TestClassFinder.FileAndPath.html      |     2 +-
 .../apache/hadoop/hbase/TestClassFinder.html    |     2 +-
 ...stCompatibilitySingletonFactoryCallable.html |    59 +-
 .../TestCompatibilitySingletonFactory.html      |    59 +-
 .../hadoop/hbase/TestCompoundConfiguration.html |   209 +-
 .../hadoop/hbase/TestGlobalMemStoreSize.html    |     2 +-
 ...Distribution.MockHDFSBlocksDistribution.html |     2 +-
 .../hbase/TestHDFSBlocksDistribution.html       |     2 +-
 .../hadoop/hbase/TestHTableDescriptor.html      |     4 +-
 .../apache/hadoop/hbase/TestInfoServers.html    |   131 +-
 ...Annotations.CloverInstrumentationFilter.html |   179 +-
 ...udienceAnnotations.GeneratedClassFilter.html |   179 +-
 ...s.InterfaceAudienceAnnotatedClassFilter.html |   179 +-
 ...rfaceAudiencePublicAnnotatedClassFilter.html |   179 +-
 ....InterfaceStabilityAnnotatedClassFilter.html |   179 +-
 ...tations.IsInterfaceStabilityClassFilter.html |   179 +-
 ...eAnnotations.MainCodeResourcePathFilter.html |   179 +-
 ...ceAudienceAnnotations.PublicClassFilter.html |   179 +-
 ...ceAnnotations.ShadedProtobufClassFilter.html |   179 +-
 .../hbase/TestInterfaceAudienceAnnotations.html |   179 +-
 .../hadoop/hbase/TestKeyValue.MockKeyValue.html |     4 +-
 .../org/apache/hadoop/hbase/TestKeyValue.html   |     4 +-
 .../hbase/TestMetaTableAccessorNoCluster.html   |     6 +-
 .../TestMetaTableLocator.WaitOnMetaThread.html  |     8 +-
 .../hadoop/hbase/TestMetaTableLocator.html      |     8 +-
 .../hbase/TestPartialResultsFromClientSide.html |  2066 +-
 .../hadoop/hbase/TestRegionRebalancing.html     |     2 +-
 .../apache/hadoop/hbase/TestSerialization.html  |     4 +-
 ...TestServerSideScanMetricsFromClientSide.html |    32 +-
 .../hbase/TestStochasticBalancerJmxMetrics.html |     4 +-
 .../hadoop/hbase/backup/TestHFileArchiving.html |     6 +-
 .../TestZooKeeperTableArchiveClient.html        |    10 +-
 .../chaos/actions/Action.ActionContext.html     |     6 +-
 .../hadoop/hbase/chaos/actions/Action.html      |     6 +-
 .../chaos/actions/BatchRestartRsAction.html     |     2 +-
 .../actions/RestartRandomDataNodeAction.html    |     2 +-
 ...RollingBatchRestartRsAction.KillOrStart.html |     6 +-
 .../actions/RollingBatchRestartRsAction.html    |     6 +-
 .../UnbalanceKillAndRebalanceAction.html        |     6 +-
 .../chaos/actions/UnbalanceRegionsAction.html   |     4 +-
 .../chaos/monkies/PolicyBasedChaosMonkey.html   |     2 +-
 .../chaos/policies/DoActionsOncePolicy.html     |     2 +-
 .../policies/PeriodicRandomActionPolicy.html    |     4 +-
 .../client/AbstractTestAsyncTableScan.html      |   394 +-
 ...ctionTestingUtility.SleepAtFirstRpcCall.html |   339 +-
 .../hbase/client/HConnectionTestingUtility.html |   339 +-
 .../apache/hadoop/hbase/client/TestAdmin1.html  |     6 +-
 .../apache/hadoop/hbase/client/TestAdmin2.html  |     2 +-
 .../client/TestAllowPartialScanResultCache.html |    93 +-
 ...ncProcess.AsyncProcessForThrowableCheck.html |  2793 +-
 ...estAsyncProcess.AsyncProcessWithFailure.html |  2793 +-
 .../TestAsyncProcess.CallerWithFailure.html     |  2793 +-
 .../TestAsyncProcess.CountingThreadFactory.html |  2793 +-
 .../client/TestAsyncProcess.MyAsyncProcess.html |  2793 +-
 ...AsyncProcess.MyAsyncProcessWithReplicas.html |  2793 +-
 ...stAsyncProcess.MyAsyncRequestFutureImpl.html |  2793 +-
 .../TestAsyncProcess.MyClientBackoffPolicy.html |  2793 +-
 ...ncProcess.MyConnectionImpl.TestRegistry.html |  2793 +-
 .../TestAsyncProcess.MyConnectionImpl.html      |  2793 +-
 .../TestAsyncProcess.MyConnectionImpl2.html     |  2793 +-
 .../TestAsyncProcess.MyThreadPoolExecutor.html  |  2793 +-
 .../hbase/client/TestAsyncProcess.RR.html       |  2793 +-
 .../TestAsyncProcess.ResponseGenerator.html     |  2793 +-
 .../hadoop/hbase/client/TestAsyncProcess.html   |  2793 +-
 ...TestAsyncSingleRequestRpcRetryingCaller.html |   222 +-
 .../hadoop/hbase/client/TestAsyncTable.html     |     2 +-
 .../hbase/client/TestAsyncTableNoncedRetry.html |    89 +-
 ...AsyncTableScan.SimpleScanResultConsumer.html |   196 -
 .../hadoop/hbase/client/TestAsyncTableScan.html |   148 +-
 ...toShippedBlocks.CompactorRegionObserver.html |    18 +-
 ...IntoShippedBlocks.CompactorStoreScanner.html |    18 +-
 ...ferencesIntoShippedBlocks.ScannerThread.html |    18 +-
 ...estAvoidCellReferencesIntoShippedBlocks.html |    18 +-
 ...ionFromClient.CustomInnerRegionObserver.html |    77 +-
 ...Client.CustomInnerRegionObserverWrapper.html |    77 +-
 ...stBlockEvictionFromClient.CustomScanner.html |    77 +-
 .../TestBlockEvictionFromClient.GetThread.html  |    77 +-
 ...tBlockEvictionFromClient.MultiGetThread.html |    77 +-
 .../TestBlockEvictionFromClient.ScanThread.html |    77 +-
 .../client/TestBlockEvictionFromClient.html     |    77 +-
 .../client/TestClientNoCluster.FakeServer.html  |   944 +-
 ...luster.ManyServersManyRegionsConnection.html |   944 +-
 .../TestClientNoCluster.MetaRowsComparator.html |   944 +-
 ...ionServerStoppedOnScannerOpenConnection.html |   944 +-
 ...estClientNoCluster.RpcTimeoutConnection.html |   944 +-
 .../TestClientNoCluster.SimpleRegistry.html     |   944 +-
 .../hbase/client/TestClientNoCluster.html       |   944 +-
 ...lientOperationInterrupt.TestCoprocessor.html |    12 +-
 .../client/TestClientOperationInterrupt.html    |    12 +-
 .../TestCompleteResultScanResultCache.html      |   317 +-
 .../hbase/client/TestConnectionUtils.html       |     4 +-
 .../TestEnableTable.MasterSyncObserver.html     |     4 +-
 .../hadoop/hbase/client/TestEnableTable.html    |     4 +-
 ...FastFail.CallQueueTooBigPffeInterceptor.html |     2 +-
 ...astFail.MyPreemptiveFastFailInterceptor.html |     2 +-
 .../hadoop/hbase/client/TestFastFail.html       |     2 +-
 ...onInReseekRegionObserver.MyStoreScanner.html |    22 +-
 ...entSide.ExceptionInReseekRegionObserver.html |    22 +-
 .../hadoop/hbase/client/TestFromClientSide.html |    22 +-
 .../hbase/client/TestFromClientSide3.html       |  1635 +-
 .../org/apache/hadoop/hbase/client/TestGet.html |   442 +-
 .../TestHBaseAdminNoCluster.MethodCaller.html   |     2 +-
 .../hbase/client/TestHBaseAdminNoCluster.html   |     2 +-
 .../hbase/client/TestHCM.BlockingFilter.html    |   142 +-
 .../client/TestHCM.SleepAndFailFirstTime.html   |   142 +-
 .../hbase/client/TestHCM.SleepCoprocessor.html  |   142 +-
 .../TestHCM.SleepLongerAtFirstCoprocessor.html  |   142 +-
 .../hbase/client/TestHCM.TestGetThread.html     |   142 +-
 .../hbase/client/TestHCM.TestPutThread.html     |   142 +-
 .../org/apache/hadoop/hbase/client/TestHCM.html |   142 +-
 .../hbase/client/TestHTableMultiplexer.html     |     2 +-
 ...TestIllegalTableDescriptor.ListAppender.html |     2 +-
 .../client/TestIllegalTableDescriptor.html      |     2 +-
 .../client/TestIncrementsFromClientSide.html    |     2 +-
 .../hbase/client/TestIntraRowPagination.html    |     6 +-
 .../client/TestMobCloneSnapshotFromClient.html  |    51 +-
 .../hadoop/hbase/client/TestMultiParallel.html  |    24 +-
 .../hbase/client/TestMultipleTimestamps.html    |     2 +-
 ...icaWithCluster.RegionServerStoppedCopro.html |    14 +-
 .../TestReplicaWithCluster.SlowMeCopro.html     |    14 +-
 .../hbase/client/TestReplicaWithCluster.html    |    14 +-
 .../client/TestReplicasClient.SlowMeCopro.html  |    16 +-
 .../hadoop/hbase/client/TestReplicasClient.html |    16 +-
 .../client/TestRestoreSnapshotFromClient.html   |     2 +-
 .../client/TestScannersFromClientSide.html      |   365 +-
 .../hbase/client/TestSnapshotFromClient.html    |     4 +-
 .../hbase/client/TestSnapshotMetadata.html      |     6 +-
 .../hbase/client/TestTimestampsFilter.html      |     4 +-
 .../hbase/client/TestZKAsyncRegistry.html       |   145 +-
 .../replication/TestReplicationAdmin.html       |   915 +-
 ...usters.TestUpdatableReplicationEndpoint.html |   350 +-
 .../TestReplicationAdminWithClusters.html       |   350 +-
 .../row/data/TestRowDataExerciseFInts.html      |     2 +-
 .../row/data/TestRowDataTrivialWithTags.html    |     2 +-
 .../prefixtree/row/data/TestRowDataUrls.html    |     2 +-
 .../timestamp/data/TestTimestampDataBasic.html  |     4 +-
 .../data/TestTimestampDataNumbers.html          |     4 +-
 .../data/TestTimestampDataRepeats.html          |     4 +-
 .../constraint/TestConstraints.AlsoWorks.html   |   256 +-
 .../hbase/constraint/TestConstraints.html       |   256 +-
 .../coprocessor/ColumnAggregationEndpoint.html  |     2 +-
 .../ColumnAggregationEndpointNullResponse.html  |     2 +-
 .../ColumnAggregationEndpointWithErrors.html    |     2 +-
 .../coprocessor/SampleRegionWALObserver.html    |     2 +-
 .../hbase/coprocessor/SimpleRegionObserver.html |     4 +-
 .../hbase/coprocessor/TestClassLoading.html     |   822 +-
 .../coprocessor/TestCoprocessorEndpoint.html    |     8 +-
 .../TestCoprocessorInterface.CoprocessorII.html |     6 +-
 ...estCoprocessorInterface.CoprocessorImpl.html |     6 +-
 .../TestCoprocessorInterface.CustomScanner.html |     6 +-
 .../coprocessor/TestCoprocessorInterface.html   |     6 +-
 .../TestCoprocessorTableEndpoint.html           |     2 +-
 .../TestHTableWrapper.DummyRegionObserver.html  |     4 +-
 .../hbase/coprocessor/TestHTableWrapper.html    |     4 +-
 ...rExceptionWithAbort.BuggyMasterObserver.html |     2 +-
 ...sorExceptionWithAbort.CreateTableThread.html |     2 +-
 ...ocessorExceptionWithAbort.MasterTracker.html |     2 +-
 ...TestMasterCoprocessorExceptionWithAbort.html |     2 +-
 ...ExceptionWithRemove.BuggyMasterObserver.html |     2 +-
 ...cessorExceptionWithRemove.MasterTracker.html |     2 +-
 ...estMasterCoprocessorExceptionWithRemove.html |     2 +-
 .../TestMasterObserver.CPMasterObserver.html    |  1344 +-
 .../hbase/coprocessor/TestMasterObserver.html   |  1344 +-
 ...Coprocessor.CustomThreadPoolCoprocessor.html |   104 +-
 ...Coprocessor.SendToOtherTableCoprocessor.html |   104 +-
 .../coprocessor/TestOpenTableInCoprocessor.html |   104 +-
 ...estRegionObserverBypass.TestCoprocessor.html |     4 +-
 .../coprocessor/TestRegionObserverBypass.html   |     4 +-
 ...mCoprocessors.TestDeleteCellCoprocessor.html |    17 +-
 ...oprocessors.TestDeleteFamilyCoprocessor.html |    17 +-
 ...omCoprocessors.TestDeleteRowCoprocessor.html |    17 +-
 ...processors.TestMultiMutationCoprocessor.html |    17 +-
 ...tationsFromCoprocessors.TestWALObserver.html |    17 +-
 ...erverForAddingMutationsFromCoprocessors.html |    17 +-
 ...gionObserverInterface.EvenOnlyCompactor.html |     4 +-
 .../TestRegionObserverInterface.html            |     4 +-
 ...ook.CompactionCompletionNotifyingRegion.html |   545 +-
 ...erverScannerOpenHook.EmptyRegionObsever.html |   545 +-
 ...ionObserverScannerOpenHook.NoDataFilter.html |   545 +-
 ...verScannerOpenHook.NoDataFromCompaction.html |   545 +-
 ...ObserverScannerOpenHook.NoDataFromFlush.html |   545 +-
 ...nObserverScannerOpenHook.NoDataFromScan.html |   545 +-
 .../TestRegionObserverScannerOpenHook.html      |   545 +-
 .../TestRegionObserverStacking.ObserverA.html   |     6 +-
 .../TestRegionObserverStacking.ObserverB.html   |     6 +-
 .../TestRegionObserverStacking.ObserverC.html   |     6 +-
 .../coprocessor/TestRegionObserverStacking.html |     6 +-
 ...essorEndpoint.DummyRegionServerEndpoint.html |   120 +-
 .../TestRegionServerCoprocessorEndpoint.html    |   120 +-
 ...estRowProcessorEndpoint.IncrementRunner.html |  1015 +-
 ...essorEndpoint.FriendsOfFriendsProcessor.html |  1015 +-
 ...essorEndpoint.IncrementCounterProcessor.html |  1015 +-
 ...t.RowProcessorEndpoint.RowSwapProcessor.html |  1015 +-
 ...t.RowProcessorEndpoint.TimeoutProcessor.html |  1015 +-
 ...wProcessorEndpoint.RowProcessorEndpoint.html |  1015 +-
 ...TestRowProcessorEndpoint.SwapRowsRunner.html |  1015 +-
 .../coprocessor/TestRowProcessorEndpoint.html   |  1015 +-
 .../hbase/coprocessor/TestWALObserver.html      |   647 +-
 .../apache/hadoop/hbase/filter/StringRange.html |    18 +-
 .../hbase/filter/TestColumnPrefixFilter.html    |   268 +-
 .../hbase/filter/TestColumnRangeFilter.html     |    18 +-
 .../hbase/filter/TestDependentColumnFilter.html |     6 +-
 .../hbase/filter/TestFilter.OldTestFilter.html  |    40 +-
 .../hbase/filter/TestFilter.SlowScanFilter.html |    40 +-
 .../apache/hadoop/hbase/filter/TestFilter.html  |    40 +-
 .../TestFilterList.AlwaysNextColFilter.html     |     8 +-
 .../hadoop/hbase/filter/TestFilterList.html     |     8 +-
 .../TestFilterListOrOperatorWithBlkCnt.html     |     8 +-
 .../hbase/filter/TestFilterSerialization.html   |    18 +-
 .../hbase/filter/TestFilterWithScanLimits.html  |     2 +-
 .../hadoop/hbase/filter/TestFilterWrapper.html  |     4 +-
 ...stFirstKeyValueMatchingQualifiersFilter.html |     4 +-
 .../TestFuzzyRowAndColumnRangeFilter.html       |     4 +-
 .../filter/TestFuzzyRowFilterEndToEnd.html      |    24 +-
 ...tionRecordFilter.InvocationRecordFilter.html |    12 +-
 .../filter/TestInvocationRecordFilter.html      |    12 +-
 .../hadoop/hbase/filter/TestKeyOnlyFilter.html  |     2 +-
 .../hbase/filter/TestMultiRowRangeFilter.html   |   173 +-
 .../filter/TestMultipleColumnPrefixFilter.html  |   392 +-
 .../TestSingleColumnValueExcludeFilter.html     |     2 +-
 ...lobalFilter.RecordingFilter.Initializer.html |     2 +-
 .../http/TestGlobalFilter.RecordingFilter.html  |     2 +-
 .../hadoop/hbase/http/TestGlobalFilter.html     |     2 +-
 .../TestHttpServer.DummyFilterInitializer.html  |     6 +-
 .../http/TestHttpServer.DummyServletFilter.html |     6 +-
 .../http/TestHttpServer.EchoMapServlet.html     |     6 +-
 .../hbase/http/TestHttpServer.EchoServlet.html  |     6 +-
 .../http/TestHttpServer.HtmlContentServlet.html |     6 +-
 .../http/TestHttpServer.LongHeaderServlet.html  |     6 +-
 .../http/TestHttpServer.MyGroupsProvider.html   |     6 +-
 .../hadoop/hbase/http/TestHttpServer.html       |     6 +-
 ...tPathFilter.RecordingFilter.Initializer.html |     2 +-
 .../http/TestPathFilter.RecordingFilter.html    |     2 +-
 .../hadoop/hbase/http/TestPathFilter.html       |     2 +-
 .../hbase/http/resource/JerseyResource.html     |     2 +-
 .../hadoop/hbase/http/ssl/KeyStoreTestUtil.html |     2 +-
 .../hbase/io/TestBoundedByteBufferPool.html     |   239 -
 .../apache/hadoop/hbase/io/TestFileLink.html    |     4 +-
 .../hbase/io/TestHalfStoreFileReader.html       |     2 +-
 .../apache/hadoop/hbase/io/TestHeapSize.html    |     6 +-
 .../hbase/io/TestTagCompressionContext.html     |     4 +-
 .../encoding/TestBufferedDataBlockEncoder.html  |     2 +-
 .../hbase/io/encoding/TestChangingEncoding.html |   343 +-
 .../io/encoding/TestDataBlockEncoders.html      |   507 +-
 .../hbase/io/encoding/TestEncodedSeekers.html   |     2 +-
 .../hbase/io/encoding/TestPrefixTree.html       |     4 +-
 .../io/encoding/TestPrefixTreeEncoding.html     |   523 +-
 .../encoding/TestSeekBeforeWithReverseScan.html |     4 +-
 .../encoding/TestSeekToBlockWithEncoders.html   |    20 +-
 .../CacheTestUtils.ByteArrayCacheable.html      |     4 +-
 .../io/hfile/CacheTestUtils.HFileBlockPair.html |     4 +-
 .../hadoop/hbase/io/hfile/CacheTestUtils.html   |     4 +-
 .../io/hfile/RandomDistribution.Binomial.html   |     4 +-
 .../hfile/RandomDistribution.DiscreteRNG.html   |     4 +-
 .../hbase/io/hfile/RandomDistribution.Flat.html |     4 +-
 .../hbase/io/hfile/RandomDistribution.Zipf.html |     4 +-
 .../hbase/io/hfile/RandomDistribution.html      |     4 +-
 .../TestCacheOnWrite.CacheOnWriteType.html      |   423 +-
 .../hadoop/hbase/io/hfile/TestCacheOnWrite.html |   423 +-
 .../hbase/io/hfile/TestFixedFileTrailer.html    |     2 +-
 .../hfile/TestHFileBlock.BlockReaderThread.html |   646 +-
 .../hadoop/hbase/io/hfile/TestHFileBlock.html   |   646 +-
 .../TestHFileBlockIndex.BlockReaderWrapper.html |     8 +-
 .../hbase/io/hfile/TestHFileBlockIndex.html     |     8 +-
 .../io/hfile/TestHFileDataBlockEncoder.html     |    27 +-
 .../TestHFileInlineToRootChunkConversion.html   |     2 +-
 .../hbase/io/hfile/TestHFileWriterV3.html       |     4 +-
 .../hfile/TestLazyDataBlockDecompression.html   |     2 +-
 .../hadoop/hbase/io/hfile/TestReseekTo.html     |     4 +-
 .../io/hfile/TestScannerFromBucketCache.html    |     6 +-
 .../TestScannerSelectionUsingKeyRange.html      |     6 +-
 .../io/hfile/TestScannerSelectionUsingTTL.html  |     4 +-
 .../hadoop/hbase/io/hfile/TestSeekTo.html       |     4 +-
 .../TestBucketCache.MockedBucketCache.html      |     4 +-
 .../hbase/io/hfile/bucket/TestBucketCache.html  |     4 +-
 .../TestBucketWriterThread.MockBucketCache.html |     2 +-
 .../io/hfile/bucket/TestBucketWriterThread.html |     2 +-
 .../hbase/io/hfile/bucket/TestFileIOEngine.html |   117 +-
 .../hbase/ipc/TestHBaseRpcControllerImpl.html   |     2 +-
 ...SimpleRpcScheduler.CoDelEnvironmentEdge.html |   219 +-
 .../hbase/ipc/TestSimpleRpcScheduler.html       |   219 +-
 ...tTableMapReduceUtil.ClassificatorMapper.html |     2 +-
 ...bleMapReduceUtil.ClassificatorRowReduce.html |     2 +-
 .../hbase/mapred/TestTableMapReduceUtil.html    |     2 +-
 ...tionTestBulkLoad.CompositeKeyComparator.html |    12 +-
 .../IntegrationTestBulkLoad.EmptySplit.html     |    12 +-
 ...tegrationTestBulkLoad.FixedRecordReader.html |    12 +-
 ...ationTestBulkLoad.ITBulkLoadInputFormat.html |    12 +-
 .../IntegrationTestBulkLoad.LinkChain.html      |    12 +-
 .../IntegrationTestBulkLoad.LinkKey.html        |    12 +-
 ...onTestBulkLoad.LinkedListCheckingMapper.html |    12 +-
 ...nTestBulkLoad.LinkedListCheckingReducer.html |    12 +-
 ...onTestBulkLoad.LinkedListCreationMapper.html |    12 +-
 ...stBulkLoad.NaturalKeyGroupingComparator.html |    12 +-
 ...ationTestBulkLoad.NaturalKeyPartitioner.html |    12 +-
 ...nTestBulkLoad.SlowMeCoproScanOperations.html |    12 +-
 .../mapreduce/IntegrationTestBulkLoad.html      |    12 +-
 .../mapreduce/IntegrationTestImportTsv.html     |     2 +-
 ...ultiTableInputFormatTestBase.ScanMapper.html |     2 +-
 ...ltiTableInputFormatTestBase.ScanReducer.html |     2 +-
 .../MultiTableInputFormatTestBase.html          |     2 +-
 .../NMapInputFormat.NullInputSplit.html         |   173 +-
 .../NMapInputFormat.SingleRecordReader.html     |   173 +-
 .../hadoop/hbase/mapreduce/NMapInputFormat.html |   173 +-
 .../mapreduce/TestGroupingTableMapper.html      |     2 +-
 ...eOutputFormat2.RandomKVGeneratingMapper.html |  1371 +-
 ...OutputFormat2.RandomPutGeneratingMapper.html |  1371 +-
 .../hbase/mapreduce/TestHFileOutputFormat2.html |  1371 +-
 .../hbase/mapreduce/TestHRegionPartitioner.html |     2 +-
 .../hadoop/hbase/mapreduce/TestHashTable.html   |    91 +-
 ...TestImportExport.TableWALActionListener.html |     4 +-
 .../hbase/mapreduce/TestImportExport.html       |     4 +-
 ...butes.OperationAttributesTestController.html |    22 +-
 .../TestImportTSVWithOperationAttributes.html   |    22 +-
 ...stImportTSVWithTTLs.TTLCheckingObserver.html |    14 +-
 .../hbase/mapreduce/TestImportTSVWithTTLs.html  |    14 +-
 .../TestImportTSVWithVisibilityLabels.html      |     6 +-
 .../hadoop/hbase/mapreduce/TestImportTsv.html   |     6 +-
 .../hbase/mapreduce/TestImportTsvParser.html    |     2 +-
 .../mapreduce/TestLoadIncrementalHFiles.html    |     4 +-
 ...tFormat.Random_TableKV_GeneratingMapper.html |     4 +-
 ...eOutputFormat.Table_KeyValueSortReducer.html |     4 +-
 .../mapreduce/TestMultiHFileOutputFormat.html   |     4 +-
 .../hadoop/hbase/mapreduce/TestRowCounter.html  |     2 +-
 .../TestSimpleTotalOrderPartitioner.html        |    75 +-
 .../hadoop/hbase/mapreduce/TestTableSplit.html  |     4 +-
 ...tTimeRangeMapRed.ProcessTimeRangeMapper.html |   283 +-
 .../hbase/mapreduce/TestTimeRangeMapRed.html    |   283 +-
 .../hadoop/hbase/mapreduce/TestWALPlayer.html   |     2 +-
 .../hbase/mapreduce/TestWALRecordReader.html    |   385 +-
 .../MockRegionServer.RegionNameAndIndex.html    |  1157 +-
 .../hadoop/hbase/master/MockRegionServer.html   |  1157 +-
 ...ignmentListener.DummyAssignmentListener.html |     6 +-
 .../TestAssignmentListener.DummyListener.html   |     6 +-
 ...tAssignmentListener.DummyServerListener.html |     6 +-
 .../hbase/master/TestAssignmentListener.html    |     6 +-
 ...signmentManagerOnCluster.MyLoadBalancer.html |  2738 +-
 ...TestAssignmentManagerOnCluster.MyMaster.html |  2738 +-
 ...gnmentManagerOnCluster.MyRegionObserver.html |  2738 +-
 ...signmentManagerOnCluster.MyRegionServer.html |  2738 +-
 .../master/TestAssignmentManagerOnCluster.html  |  2738 +-
 .../TestCatalogJanitor.MockMasterServices.html  |   897 +-
 .../hadoop/hbase/master/TestCatalogJanitor.html |   897 +-
 .../master/TestClusterStatusPublisher.html      |    10 +-
 ...utedLogSplitting.NonceGeneratorWithDups.html |    14 +-
 .../master/TestDistributedLogSplitting.html     |    14 +-
 .../hbase/master/TestMasterNoCluster.html       |     2 +-
 .../TestMasterOperationsForRegionReplicas.html  |     8 +-
 .../hbase/master/TestMasterStatusServlet.html   |    75 +-
 .../hbase/master/TestMasterWalManager.html      |     2 +-
 .../hbase/master/TestRegionPlacement.html       |   945 +-
 .../hbase/master/TestRegionPlacement2.html      |    12 +-
 .../hadoop/hbase/master/TestRollingRestart.html |     4 +-
 .../hadoop/hbase/master/TestWarmupRegion.html   |     2 +-
 .../balancer/BalancerTestBase.MockCluster.html  |    38 +-
 .../balancer/BalancerTestBase.MockMapping.html  |    38 +-
 .../hbase/master/balancer/BalancerTestBase.html |    38 +-
 .../TestBaseLoadBalancer.MockBalancer.html      |   198 +-
 .../master/balancer/TestBaseLoadBalancer.html   |   198 +-
 .../balancer/TestDefaultLoadBalancer.html       |   130 +-
 .../balancer/TestRSGroupBasedLoadBalancer.html  |   955 +-
 .../balancer/TestRegionLocationFinder.html      |     4 +-
 ...ochasticLoadBalancer.ForTestRackManager.html |  1023 +-
 ...asticLoadBalancer.ForTestRackManagerOne.html |  1023 +-
 .../balancer/TestStochasticLoadBalancer.html    |  1023 +-
 .../cleaner/TestLogsCleaner.DummyServer.html    |     2 +-
 .../TestLogsCleaner.FaultyZooKeeperWatcher.html |     2 +-
 .../hbase/master/cleaner/TestLogsCleaner.html   |     2 +-
 ...TestReplicationHFileCleaner.DummyServer.html |     6 +-
 ...tionHFileCleaner.FaultyZooKeeperWatcher.html |     6 +-
 .../cleaner/TestReplicationHFileCleaner.html    |     6 +-
 ...estingUtility.InjectAbortOnLoadListener.html |     2 +-
 .../MasterProcedureTestingUtility.html          |     2 +-
 .../procedure/TestMasterProcedureEvents.html    |     2 +-
 ...reSchedulerConcurrency.TestTableProcSet.html |     4 +-
 ...TestMasterProcedureSchedulerConcurrency.html |     4 +-
 .../procedure/TestServerCrashProcedure.html     |     2 +-
 .../TestSnapshotFileCache.SnapshotFiles.html    |     4 +-
 .../master/snapshot/TestSnapshotFileCache.html  |     4 +-
 .../TestSnapshotHFileCleaner.SnapshotFiles.html |     2 +-
 .../snapshot/TestSnapshotHFileCleaner.html      |     2 +-
 .../hadoop/hbase/mob/TestMobFileCache.html      |     2 +-
 ...obCompactor.CompactTwoLatestHfilesCopro.html |  1758 +-
 .../hbase/mob/compactions/TestMobCompactor.html |  1758 +-
 ...obCompactor.FaultyDistributedFileSystem.html |  1475 +-
 .../TestPartitionedMobCompactor.html            |  1475 +-
 .../hbase/monitoring/TestTaskMonitor.html       |    27 +-
 .../IntegrationTestMTTR.ActionCallable.html     |     8 +-
 .../mttr/IntegrationTestMTTR.AdminCallable.html |     8 +-
 .../mttr/IntegrationTestMTTR.LoadCallable.html  |     8 +-
 .../mttr/IntegrationTestMTTR.PutCallable.html   |     8 +-
 .../mttr/IntegrationTestMTTR.ScanCallable.html  |     8 +-
 .../IntegrationTestMTTR.TimingCallable.html     |     8 +-
 .../mttr/IntegrationTestMTTR.TimingResult.html  |     8 +-
 .../hadoop/hbase/mttr/IntegrationTestMTTR.html  |     8 +-
 ...NamespaceAuditor.CPRegionServerObserver.html |  1623 +-
 .../TestNamespaceAuditor.CustomObserver.html    |  1623 +-
 ...TestNamespaceAuditor.MasterSyncObserver.html |  1623 +-
 .../hbase/namespace/TestNamespaceAuditor.html   |  1623 +-
 .../hadoop/hbase/nio/TestMultiByteBuff.html     |     2 +-
 .../procedure/SimpleMasterProcedureManager.html |     4 +-
 ...ocedureManager.SimleSubprocedureBuilder.html |     6 +-
 ...Manager.SimpleSubprocedure.RSSimpleTask.html |     6 +-
 ...leRSProcedureManager.SimpleSubprocedure.html |     6 +-
 ...ProcedureManager.SimpleSubprocedurePool.html |     6 +-
 .../procedure/SimpleRSProcedureManager.html     |     6 +-
 .../TestProcedure.LatchedProcedure.html         |     8 +-
 .../hadoop/hbase/procedure/TestProcedure.html   |     8 +-
 .../hbase/procedure/TestProcedureManager.html   |     2 +-
 .../TestProcedureMember.EmptySubprocedure.html  |     4 +-
 .../hbase/procedure/TestProcedureMember.html    |     4 +-
 .../hadoop/hbase/procedure/TestZKProcedure.html |   524 +-
 ...ZKProcedureControllers.StartControllers.html |   102 +-
 .../procedure/TestZKProcedureControllers.html   |   102 +-
 .../ProcedureTestingUtility.LoadCounter.html    |     8 +-
 .../ProcedureTestingUtility.NoopProcedure.html  |     8 +-
 .../ProcedureTestingUtility.TestProcedure.html  |     8 +-
 .../procedure2/ProcedureTestingUtility.html     |     8 +-
 ...stProcedureExecution.TestFaultyRollback.html |    10 +-
 ...ocedureExecution.TestProcedureException.html |    10 +-
 ...cedureExecution.TestSequentialProcedure.html |    10 +-
 ...tion.TestWaitingProcedure.TestWaitChild.html |    10 +-
 ...ProcedureExecution.TestWaitingProcedure.html |    10 +-
 .../procedure2/TestProcedureExecution.html      |    10 +-
 .../TestProcedureReplayOrder.TestProcedure.html |     2 +-
 ...stProcedureReplayOrder.TestProcedureEnv.html |     2 +-
 ...dureReplayOrder.TestSingleStepProcedure.html |     2 +-
 ...ocedureReplayOrder.TestTwoStepProcedure.html |     2 +-
 .../procedure2/TestProcedureReplayOrder.html    |     2 +-
 ...dulerConcurrency.TestProcedureWithEvent.html |   157 +-
 .../TestProcedureSchedulerConcurrency.html      |   157 +-
 ...estProcedureSuspended.TestLockProcedure.html |     2 +-
 .../TestProcedureSuspended.TestProcEnv.html     |     2 +-
 .../procedure2/TestProcedureSuspended.html      |     2 +-
 .../TestYieldProcedures.TestProcEnv.html        |     2 +-
 .../TestYieldProcedures.TestScheduler.html      |     2 +-
 ...TestStateMachineProcedure.ExecutionInfo.html |     2 +-
 ...cedures.TestStateMachineProcedure.State.html |     2 +-
 ...eldProcedures.TestStateMachineProcedure.html |     2 +-
 .../TestYieldProcedures.TestYieldProcedure.html |     2 +-
 .../hbase/procedure2/TestYieldProcedures.html   |     2 +-
 .../TestDelayedUtil.ZeroDelayContainer.html     |    10 +-
 .../hbase/procedure2/util/TestDelayedUtil.html  |    10 +-
 .../AbstractTestDateTieredCompactionPolicy.html |     2 +-
 .../DataBlockEncodingTool.Manipulation.html     |   989 +-
 .../regionserver/DataBlockEncodingTool.html     |   989 +-
 .../EncodedSeekPerformanceTest.html             |     4 +-
 .../hbase/regionserver/KeyValueScanFixture.html |     2 +-
 .../hbase/regionserver/MockStoreFile.html       |     2 +-
 .../regionserver/NoOpScanPolicyObserver.html    |    12 +-
 .../hbase/regionserver/OOMERegionServer.html    |    79 +-
 ...ble.RegionScannerToResultScannerAdaptor.html |   604 +-
 .../hbase/regionserver/RegionAsTable.html       |   604 +-
 .../SecureBulkLoadEndpointClient.html           |    39 +-
 .../TestAtomicOperation.AtomicOperation.html    |     6 +-
 .../TestAtomicOperation.CheckAndPutThread.html  |     6 +-
 .../TestAtomicOperation.Incrementer.html        |     6 +-
 ...micOperation.MockHRegion.WrappedRowLock.html |     6 +-
 .../TestAtomicOperation.MockHRegion.html        |     6 +-
 .../TestAtomicOperation.PutThread.html          |     6 +-
 .../TestAtomicOperation.TestStep.html           |     6 +-
 .../hbase/regionserver/TestAtomicOperation.html |     6 +-
 .../hbase/regionserver/TestBlocksRead.html      |     4 +-
 .../hbase/regionserver/TestBlocksScanned.html   |     2 +-
 .../regionserver/TestBulkLoad.WalMatcher.html   |   449 +-
 .../hadoop/hbase/regionserver/TestBulkLoad.html |   449 +-
 ...stCacheOnWriteInSchema.CacheOnWriteType.html |     2 +-
 .../regionserver/TestCacheOnWriteInSchema.html  |     2 +-
 .../hbase/regionserver/TestColumnSeeking.html   |    20 +-
 ...MemStore.EnvironmentEdgeForMemstoreTest.html |  1439 +-
 .../regionserver/TestCompactingMemStore.html    |  1439 +-
 .../TestCompactingToCellArrayMapMemStore.html   |   920 +-
 ...toreMockMaker.BlockingCompactionContext.html |   680 +-
 .../TestCompaction.BlockingStoreMockMaker.html  |   680 +-
 .../TestCompaction.DummyCompactor.html          |   680 +-
 ...on.StoreMockMaker.TestCompactionContext.html |   680 +-
 .../TestCompaction.StoreMockMaker.html          |   680 +-
 ...stCompaction.TrackableCompactionRequest.html |   680 +-
 .../hbase/regionserver/TestCompaction.html      |   680 +-
 ...oncurrentClose.WaitingHRegionFileSystem.html |     2 +-
 .../TestCompactionArchiveConcurrentClose.html   |     2 +-
 .../TestCompactionArchiveIOException.html       |     2 +-
 .../regionserver/TestCompactionPolicy.html      |    10 +-
 .../hbase/regionserver/TestCompactionState.html |     2 +-
 .../regionserver/TestCompoundBloomFilter.html   |     2 +-
 ...stCorruptedRegionStoreFile.ScanInjector.html |   458 +-
 .../TestCorruptedRegionStoreFile.html           |   458 +-
 .../TestDefaultCompactSelection.html            |     4 +-
 ...MemStore.EnvironmentEdgeForMemstoreTest.html |  1888 +-
 ...TestDefaultMemStore.ReadOwnWritesTester.html |  1888 +-
 .../hbase/regionserver/TestDefaultMemStore.html |  1888 +-
 .../regionserver/TestEncryptionKeyRotation.html |     4 +-
 .../TestEncryptionRandomKeying.html             |     2 +-
 ...tEndToEndSplitTransaction.RegionChecker.html |     4 +-
 ...EndToEndSplitTransaction.RegionSplitter.html |     4 +-
 .../TestEndToEndSplitTransaction.html           |     4 +-
 .../TestFSErrorsExposed.FaultyFileSystem.html   |    99 +-
 .../TestFSErrorsExposed.FaultyInputStream.html  |    99 +-
 .../hbase/regionserver/TestFSErrorsExposed.html |    99 +-
 .../regionserver/TestGetClosestAtOrBefore.html  |     4 +-
 .../hbase/regionserver/TestHMobStore.html       |   907 +-
 .../regionserver/TestHRegion.Appender.html      |  8407 ++--
 .../regionserver/TestHRegion.FlushThread.html   |  8407 ++--
 .../TestHRegion.GetTillDoneOrException.html     |  8407 ++--
 .../TestHRegion.HRegionWithSeqId.html           |  8407 ++--
 .../regionserver/TestHRegion.Incrementer.html   |  8407 ++--
 .../TestHRegion.IsFlushWALMarker.html           |  8407 ++--
 .../regionserver/TestHRegion.PutThread.html     |  8407 ++--
 .../hadoop/hbase/regionserver/TestHRegion.html  |  8407 ++--
 .../regionserver/TestHRegionOnCluster.html      |     2 +-
 .../regionserver/TestHRegionReplayEvents.html   |   379 +-
 ...HRegionServerBulkLoad.AtomicHFileLoader.html |   503 +-
 ...tHRegionServerBulkLoad.AtomicScanReader.html |   503 +-
 ...ionServerBulkLoad.FindBulkHBaseListener.html |   503 +-
 .../TestHRegionServerBulkLoad.MyObserver.html   |   503 +-
 .../regionserver/TestHRegionServerBulkLoad.html |   503 +-
 ...BulkLoadWithOldClient.AtomicHFileLoader.html |   169 +-
 .../TestHRegionServerBulkLoadWithOldClient.html |   169 +-
 ...WithOldSecureEndpoint.AtomicHFileLoader.html |   173 +-
 ...gionServerBulkLoadWithOldSecureEndpoint.html |   173 +-
 .../TestHeapMemoryManager.BlockCacheStub.html   |  1761 +-
 ...HeapMemoryManager.CustomHeapMemoryTuner.html |  1761 +-
 ...stHeapMemoryManager.MemstoreFlusherStub.html |  1761 +-
 ...emoryManager.RegionServerAccountingStub.html |  1761 +-
 .../TestHeapMemoryManager.RegionServerStub.html |  1761 +-
 .../regionserver/TestHeapMemoryManager.html     |  1761 +-
 .../hbase/regionserver/TestJoinedScanners.html  |     2 +-
 .../hbase/regionserver/TestKeepDeletes.html     |    20 +-
 .../TestKeyValueHeap.SeekTestScanner.html       |    12 +-
 .../TestKeyValueHeap.TestScanner.html           |    12 +-
 .../hbase/regionserver/TestKeyValueHeap.html    |    12 +-
 .../hbase/regionserver/TestMajorCompaction.html |   611 +-
 .../regionserver/TestMemStoreChunkPool.html     |   242 +-
 .../TestMemStoreLAB.AllocRecord.html            |     2 +-
 .../hbase/regionserver/TestMemStoreLAB.html     |     2 +-
 .../hbase/regionserver/TestMinVersions.html     |     2 +-
 .../TestMiniBatchOperationInProgress.html       |     6 +-
 .../hbase/regionserver/TestMobStoreScanner.html |     2 +-
 .../regionserver/TestMultiColumnScanner.html    |    16 +-
 .../regionserver/TestPerColumnFamilyFlush.html  |   980 +-
 ...lledWhenInitializing.MockedRegionServer.html |   212 -
 .../TestRSKilledWhenInitializing.html           |   306 +-
 .../regionserver/TestRegionFavoredNodes.html    |   103 +-
 ...RegionIncrement.CrossRowCellIncrementer.html |     4 +-
 ...stRegionIncrement.SingleCellIncrementer.html |     4 +-
 .../hbase/regionserver/TestRegionIncrement.html |     4 +-
 ...egionMergeTransactionOnCluster.MyMaster.html |   912 +-
 ...ransactionOnCluster.MyMasterRpcServices.html |   912 +-
 .../TestRegionMergeTransactionOnCluster.html    |   912 +-
 .../regionserver/TestRegionReplicaFailover.html |     2 +-
 .../hbase/regionserver/TestRegionReplicas.html  |     2 +-
 .../regionserver/TestRegionSplitPolicy.html     |     6 +-
 .../regionserver/TestRemoveRegionMetrics.html   |    79 +-
 .../regionserver/TestReversibleScanners.html    |   455 +-
 .../regionserver/TestSCVFWithMiniCluster.html   |     2 +-
 .../regionserver/TestScanWithBloomError.html    |    12 +-
 .../hadoop/hbase/regionserver/TestScanner.html  |    16 +-
 ...rRetriableFailure.FaultyScannerObserver.html |    10 +-
 .../TestScannerRetriableFailure.html            |    10 +-
 .../regionserver/TestSeekOptimizations.html     |    18 +-
 .../TestServerCustomProtocol.PingHandler.html   |    14 +-
 .../regionserver/TestServerCustomProtocol.html  |    14 +-
 ...tTransactionOnCluster.CustomSplitPolicy.html |     4 +-
 ...ionOnCluster.FailingSplitMasterObserver.html |     4 +-
 .../TestSplitTransactionOnCluster.MyMaster.html |     4 +-
 ...ransactionOnCluster.MyMasterRpcServices.html |     4 +-
 .../TestSplitTransactionOnCluster.html          |     4 +-
 .../TestStore.DummyStoreEngine.html             |   895 +-
 .../TestStore.FaultyFileSystem.html             |   895 +-
 .../TestStore.FaultyOutputStream.html           |   895 +-
 .../hadoop/hbase/regionserver/TestStore.html    |   895 +-
 .../hbase/regionserver/TestStoreFile.html       |    10 +-
 ...RefresherChore.FailingHRegionFileSystem.html |     2 +-
 ...esherChore.StaleStorefileRefresherChore.html |     2 +-
 .../TestStoreFileRefresherChore.html            |     2 +-
 .../TestStoreScanner.CellGridStoreScanner.html  |    54 +-
 .../hbase/regionserver/TestStoreScanner.html    |    54 +-
 .../TestStripeStoreEngine.TestStoreEngine.html  |     4 +-
 .../regionserver/TestStripeStoreEngine.html     |     4 +-
 .../TestStripeStoreFileManager.html             |    12 +-
 .../TestTags.TestCoprocessorForTags.html        |    20 +-
 .../hadoop/hbase/regionserver/TestTags.html     |    20 +-
 .../regionserver/TestWALLockup.DummyServer.html |     4 +-
 .../TestWALLockup.DummyWALActionsListener.html  |     4 +-
 .../hbase/regionserver/TestWALLockup.html       |     4 +-
 ...tingMemStoreFlush.ConcurrentPutRunnable.html |  1509 +-
 .../TestWalAndCompactingMemStoreFlush.html      |  1509 +-
 .../hbase/regionserver/TestWideScanner.html     |     4 +-
 .../ConstantSizeFileListGenerator.html          |     2 +-
 .../compactions/EverythingPolicy.html           |     4 +-
 .../compactions/GaussianFileListGenerator.html  |     2 +-
 .../compactions/MockStoreFileGenerator.html     |     2 +-
 .../compactions/PerfTestCompactionPolicies.html |    10 +-
 .../SemiConstantSizeFileListGenerator.html      |     2 +-
 .../SinusoidalFileListGenerator.html            |     2 +-
 .../compactions/SpikyFileListGenerator.html     |     2 +-
 ...estCompactedHFilesDischarger.ScanThread.html |     4 +-
 .../TestCompactedHFilesDischarger.html          |     4 +-
 .../compactions/TestCompactor.Scanner.html      |     8 +-
 ...ompactor.StoreFileWritersCapture.Writer.html |     8 +-
 .../TestCompactor.StoreFileWritersCapture.html  |     8 +-
 .../regionserver/compactions/TestCompactor.html |     8 +-
 .../compactions/TestDateTieredCompactor.html    |     2 +-
 .../TestStripeCompactionPolicy.Scanner.html     |    38 +-
 .../compactions/TestStripeCompactionPolicy.html |    38 +-
 .../compactions/TestStripeCompactor.html        |     2 +-
 .../TestCompactionScanQueryMatcher.html         |    35 +-
 .../querymatcher/TestExplicitColumnTracker.html |    18 +-
 .../TestScanWildcardColumnTracker.html          |    14 +-
 .../querymatcher/TestUserScanQueryMatcher.html  |    16 +-
 .../regionserver/wal/AbstractTestFSWAL.html     |     8 +-
 .../wal/AbstractTestLogRollPeriod.html          |     2 +-
 ...bstractTestWALReplay.CustomStoreFlusher.html |  2228 +-
 .../wal/AbstractTestWALReplay.MockWAL.html      |  2228 +-
 .../wal/AbstractTestWALReplay.TestFlusher.html  |  2228 +-
 .../regionserver/wal/AbstractTestWALReplay.html |  2228 +-
 .../hbase/regionserver/wal/TestFSHLog.html      |     2 +-
 .../wal/TestKeyValueCompression.html            |     2 +-
 .../regionserver/wal/TestLogRollAbort.html      |    87 +-
 .../hbase/regionserver/wal/TestLogRolling.html  |     6 +-
 .../wal/TestLogRollingNoCluster.Appender.html   |    65 +-
 ...gRollingNoCluster.HighLatencySyncWriter.html |    65 +-
 .../wal/TestLogRollingNoCluster.html            |    65 +-
 .../wal/TestSequenceIdAccounting.html           |    10 +-
 ...ActionsListener.DummyWALActionsListener.html |   103 +-
 .../wal/TestWALActionsListener.html             |   103 +-
 .../wal/TestWALCellCodecWithCompression.html    |     4 +-
 ...estMasterReplication.CoprocessorCounter.html |  1345 +-
 .../replication/TestMasterReplication.html      |  1345 +-
 .../replication/TestNamespaceReplication.html   |   211 +-
 .../replication/TestPerTableCFReplication.html  |    20 +-
 .../hbase/replication/TestReplicationBase.html  |   221 +-
 ...licationEndpointForTest.DummyReplicator.html |     6 +-
 ...nEndpointForTest.FailingDummyReplicator.html |     6 +-
 ....InterClusterReplicationEndpointForTest.html |     6 +-
 ...tionEndpoint.ReplicationEndpointForTest.html |     6 +-
 ...point.ReplicationEndpointReturningFalse.html |     6 +-
 ...t.ReplicationEndpointWithWALEntryFilter.html |     6 +-
 .../replication/TestReplicationEndpoint.html    |     6 +-
 .../replication/TestReplicationSmallTests.html  |   695 +-
 .../replication/TestReplicationStateBasic.html  |    12 +-
 .../replication/TestReplicationSyncUpTool.html  |     2 +-
 ...ReplicationSyncUpToolWithBulkLoadedData.html |     2 +-
 ...nTrackerZKImpl.DummyReplicationListener.html |     2 +-
 ...estReplicationTrackerZKImpl.DummyServer.html |     2 +-
 .../TestReplicationTrackerZKImpl.html           |     2 +-
 .../TestReplicationWALEntryFilters.html         |    36 +-
 ...onWithTags.TestCoprocessorForTagsAtSink.html |    16 +-
 ...WithTags.TestCoprocessorForTagsAtSource.html |    16 +-
 .../replication/TestReplicationWithTags.html    |    16 +-
 ...eplicationEndpointNoMaster.WALEditCopro.html |    12 +-
 ...egionReplicaReplicationEndpointNoMaster.html |    12 +-
 .../regionserver/TestReplicationSink.html       |    32 +-
 ...onSourceManager.DummyNodeFailoverWorker.html |   950 +-
 ...estReplicationSourceManager.DummyServer.html |   950 +-
 ...er.FailInitializeDummyReplicationSource.html |   950 +-
 .../TestReplicationSourceManager.html           |   950 +-
 ...rformanceEvaluation.BufferedMutatorTest.html |    10 +-
 .../PerformanceEvaluation.CmdDescriptor.html    |    10 +-
 .../rest/PerformanceEvaluation.Counter.html     |    10 +-
 ...PerformanceEvaluation.EvaluationMapTask.html |    10 +-
 .../PerformanceEvaluation.FilteredScanTest.html |    10 +-
 ...Evaluation.PeInputFormat.PeRecordReader.html |    10 +-
 .../PerformanceEvaluation.PeInputFormat.html    |    10 +-
 .../PerformanceEvaluation.PeInputSplit.html     |    10 +-
 .../PerformanceEvaluation.RandomReadTest.html   |    10 +-
 ...Evaluation.RandomScanWithRange10000Test.html |    10 +-
 ...eEvaluation.RandomScanWithRange1000Test.html |    10 +-
 ...ceEvaluation.RandomScanWithRange100Test.html |    10 +-
 ...nceEvaluation.RandomScanWithRange10Test.html |    10 +-
 ...manceEvaluation.RandomScanWithRangeTest.html |    10 +-
 ...erformanceEvaluation.RandomSeekScanTest.html |    10 +-
 .../PerformanceEvaluation.RandomWriteTest.html  |    10 +-
 .../rest/PerformanceEvaluation.ScanTest.html    |    10 +-
 ...erformanceEvaluation.SequentialReadTest.html |    10 +-
 ...rformanceEvaluation.SequentialWriteTest.html |    10 +-
 .../rest/PerformanceEvaluation.Status.html      |    10 +-
 .../rest/PerformanceEvaluation.TableTest.html   |    10 +-
 .../hbase/rest/PerformanceEvaluation.Test.html  |    10 +-
 .../rest/PerformanceEvaluation.TestOptions.html |    10 +-
 .../hbase/rest/PerformanceEvaluation.html       |    10 +-
 .../hbase/rest/TestGetAndPutResource.html       |     6 +-
 .../hadoop/hbase/rest/TestMultiRowResource.html |     2 +-
 .../rest/TestNamespacesInstanceResource.html    |    14 +-
 .../hbase/rest/TestScannersWithFilters.html     |     2 +-
 .../hadoop/hbase/rest/TestSchemaResource.html   |     2 +-
 .../hbase/rest/client/TestRemoteTable.html      |    14 +-
 .../rest/model/TestNamespacesInstanceModel.html |     2 +-
 .../hbase/rsgroup/IntegrationTestRSGroup.html   |   136 +-
 .../hadoop/hbase/rsgroup/TestRSGroups.html      |    85 +-
 .../hadoop/hbase/rsgroup/TestRSGroupsBase.html  |  1383 +-
 .../hbase/rsgroup/TestRSGroupsOfflineMode.html  |   306 +-
 .../rsgroup/VerifyingRSGroupAdminClient.html    |    86 +-
 .../access/SecureTestUtil.AccessTestAction.html |    22 +-
 .../SecureTestUtil.MasterSyncObserver.html      |    22 +-
 .../hbase/security/access/SecureTestUtil.html   |    22 +-
 .../access/TestAccessControlFilter.html         |     2 +-
 .../TestAccessController.BulkLoadHelper.html    |  1369 +-
 .../TestAccessController.PingCoprocessor.html   |  1369 +-
 ...tAccessController.TestTableDDLProcedure.html |  1369 +-
 .../security/access/TestAccessController.html   |  1369 +-
 .../access/TestCellACLWithMultipleVersions.html |     2 +-
 .../hbase/security/access/TestCellACLs.html     |     2 +-
 .../security/access/TestNamespaceCommands.html  |     4 +-
 .../security/access/TestTablePermissions.html   |     2 +-
 .../access/TestWithDisabledAuthorization.html   |     2 +-
 .../access/TestZKPermissionsWatcher.html        |     4 +-
 ...ation.AuthenticationServiceSecurityInfo.html |   439 +-
 ...entication.NonShadedBlockingRpcCallback.html |   439 +-
 .../TestTokenAuthentication.TokenServer.html    |   439 +-
 .../security/token/TestTokenAuthentication.html |   439 +-
 .../ExpAsStringVisibilityLabelServiceImpl.html  |    16 +-
 .../LabelFilteringScanLabelGenerator.html       |     2 +-
 .../visibility/TestVisibilityLabels.html        |    14 +-
 ...sibilityLabelsOpWithDifferentUsersNoACL.html |     2 +-
 ...estVisibilityLabelsReplication.SimpleCP.html |   807 +-
 ...eplication.TestCoprocessorForTagsAtSink.html |   807 +-
 ...on.VisibilityReplicationEndPointForTest.html |   807 +-
 .../TestVisibilityLabelsReplication.html        |   807 +-
 .../visibility/TestVisibilityLabelsWithACL.html |     4 +-
 ...VisibilityLabelsWithCustomVisLabService.html |     2 +-
 .../TestVisibilityLabelsWithDeletes.html        |     6 +-
 .../TestVisibilityLablesWithGroups.html         |     4 +-
 .../TestWithDisabledAuthorization.html          |     4 +-
 ...hotTestingUtils.SnapshotMock.RegionData.html |    10 +-
 ...stingUtils.SnapshotMock.SnapshotBuilder.html |    10 +-
 .../SnapshotTestingUtils.SnapshotMock.html      |    10 +-
 .../hbase/snapshot/SnapshotTestingUtils.html    |    10 +-
 .../TestExportSnapshot.RegionPredicate.html     |     6 +-
 .../hbase/snapshot/TestExportSnapshot.html      |     6 +-
 .../snapshot/TestExportSnapshotHelpers.html     |     4 +-
 .../snapshot/TestFlushSnapshotFromClient.html   |     2 +-
 ...napshotClientRetries.MasterSyncObserver.html |     4 +-
 .../snapshot/TestSnapshotClientRetries.html     |     4 +-
 .../IntegrationTestBigLinkedList.CINode.html    |     8 +-
 .../IntegrationTestBigLinkedList.Clean.html     |     8 +-
 .../IntegrationTestBigLinkedList.Delete.html    |     8 +-
 ...ationTestBigLinkedList.Generator.Counts.html |     8 +-
 ...eneratorInputFormat.GeneratorInputSplit.html |     8 +-
 ...eratorInputFormat.GeneratorRecordReader.html |     8 +-
 ...nkedList.Generator.GeneratorInputFormat.html |     8 +-
 ...erator.GeneratorMapper.ConcurrentWalker.html |     8 +-
 ...eratorMapper.ContinuousConcurrentWalker.html |     8 +-
 ...BigLinkedList.Generator.GeneratorMapper.html |     8 +-
 ...nkedList.Generator.OneFilePerMapperSFIF.html |     8 +-
 .../IntegrationTestBigLinkedList.Generator.html |     8 +-
 .../test/IntegrationTestBigLinkedList.Loop.html |     8 +-
 .../IntegrationTestBigLinkedList.Print.html     |     8 +-
 ...st.Search.WALSearcher.WALMapperSearcher.html |     8 +-
 ...ionTestBigLinkedList.Search.WALSearcher.html |     8 +-
 .../IntegrationTestBigLinkedList.Search.html    |     8 +-
 ...egrationTestBigLinkedList.Verify.Counts.html |     8 +-
 ...onTestBigLinkedList.Verify.VerifyMapper.html |     8 +-
 ...nTestBigLinkedList.Verify.VerifyReducer.html |     8 +-
 .../IntegrationTestBigLinkedList.Verify.html    |     8 +-
 .../IntegrationTestBigLinkedList.Walker.html    |     8 +-
 ...IntegrationTestBigLinkedList.WalkerBase.html |     8 +-
 .../test/IntegrationTestBigLinkedList.html      |     8 +-
 .../IntegrationTestLoadAndVerify.Counters.html  |     2 +-
 ...IntegrationTestLoadAndVerify.LoadMapper.html |     2 +-
 ...tegrationTestLoadAndVerify.VerifyMapper.html |     2 +-
 ...egrationTestLoadAndVerify.VerifyReducer.html |     2 +-
 ...AndVerify.WALSearcher.WALMapperSearcher.html |     2 +-
 ...ntegrationTestLoadAndVerify.WALSearcher.html |     2 +-
 .../test/IntegrationTestLoadAndVerify.html      |     2 +-
 .../IntegrationTestReplication.ClusterID.html   |     2 +-
 ...onTestReplication.VerifyReplicationLoop.html |     2 +-
 .../hbase/test/IntegrationTestReplication.html  |     2 +-
 ...ricsAssertHelperImpl.MockMetricsBuilder.html |     6 +-
 ...tricsAssertHelperImpl.MockRecordBuilder.html |     6 +-
 .../hbase/test/MetricsAssertHelperImpl.html     |     6 +-
 .../hadoop/hbase/thrift/TestCallQueue.html      |    94 +-
 .../hbase/thrift/TestThriftHttpServer.html      |     2 +-
 .../TestThriftServer.MySlowHBaseHandler.html    |    32 +-
 .../hadoop/hbase/thrift/TestThriftServer.html   |    32 +-
 .../hbase/thrift/TestThriftServerCmdLine.html   |   172 +-
 .../thrift2/TestThriftHBaseServiceHandler.html  |  2642 +-
 ...TestThriftHBaseServiceHandlerWithLabels.html |    34 +-
 .../trace/IntegrationTestSendTraceRequests.html |     2 +-
 .../hbase/types/TestFixedLengthWrapper.html     |     8 +-
 .../hbase/types/TestStructNullExtension.html    |     2 +-
 .../hbase/types/TestTerminatedWrapper.html      |    14 +-
 .../BaseTestHBaseFsck.MasterSyncObserver.html   |   643 +-
 .../BaseTestHBaseFsck.MockErrorReporter.html    |   643 +-
 .../hadoop/hbase/util/BaseTestHBaseFsck.html    |   643 +-
 .../hadoop/hbase/util/BuilderStyleTest.html     |     2 +-
 .../hbase/util/ClassLoaderTestHelper.html       |     4 +-
 .../util/ConstantDelayQueue.DelayedElement.html |    10 +-
 .../hadoop/hbase/util/ConstantDelayQueue.html   |    10 +-
 .../hbase/util/HFileArchiveTestingUtil.html     |    10 +-
 .../util/LoadTestDataGeneratorWithTags.html     |     4 +-
 .../hbase/util/LoadTestTool.WorkerThread.html   |     6 +-
 .../apache/hadoop/hbase/util/LoadTestTool.html  |     6 +-
 ...ultiThreadedAction.DefaultDataGenerator.html |   678 +-
 .../MultiThreadedAction.ProgressReporter.html   |   678 +-
 .../hadoop/hbase/util/MultiThreadedAction.html  |   678 +-
 .../MultiThreadedReader.HBaseReaderThread.html  |     2 +-
 .../hadoop/hbase/util/MultiThreadedReader.html  |     2 +-
 ...dReaderWithACL.HBaseReaderThreadWithACL.html |     4 +-
 .../hbase/util/MultiThreadedReaderWithACL.html  |     4 +-
 ...MultiThreadedUpdater.HBaseUpdaterThread.html |     2 +-
 .../hadoop/hbase/util/MultiThreadedUpdater.html |     2 +-
 ...UpdaterThreadWithACL.MutateAccessAction.html |     4 +-
 ...pdaterWithACL.HBaseUpdaterThreadWithACL.html |     4 +-
 .../hbase/util/MultiThreadedUpdaterWithACL.html |     4 +-
 .../MultiThreadedWriter.HBaseWriterThread.html  |     2 +-
 .../hadoop/hbase/util/MultiThreadedWriter.html  |     2 +-
 ...ultiThreadedWriterBase.WroteKeysTracker.html |     6 +-
 .../hbase/util/MultiThreadedWriterBase.html     |     6 +-
 ...dLocalHBaseCluster.LocalDaemonLogTailer.html |   679 +-
 ...rocessBasedLocalHBaseCluster.ServerType.html |   679 +-
 .../util/ProcessBasedLocalHBaseCluster.html     |   679 +-
 .../util/TestAvlUtil.TestAvlKeyComparator.html  |     6 +-
 .../hbase/util/TestAvlUtil.TestAvlNode.html     |     6 +-
 .../util/TestAvlUtil.TestLinkedAvlNode.html     |     6 +-
 .../apache/hadoop/hbase/util/TestAvlUtil.html   |     6 +-
 .../apache/hadoop/hbase/util/TestBase64.html    |     2 +-
 .../hbase/util/TestBoundedArrayQueue.html       |     2 +-
 ...BoundedPriorityBlockingQueue.TestObject.html |     4 +-
 ...orityBlockingQueue.TestObjectComparator.html |     4 +-
 .../util/TestBoundedPriorityBlockingQueue.html  |     4 +-
 .../hadoop/hbase/util/TestByteBufferUtils.html  |     2 +-
 .../util/TestByteRangeWithKVSerialization.html  |     2 +-
 .../org/apache/hadoop/hbase/util/TestBytes.html |     4 +-
 .../hbase/util/TestConcatenatedLists.html       |    14 +-
 .../TestCoprocessorScanPolicy.ScanObserver.html |   543 +-
 .../hbase/util/TestCoprocessorScanPolicy.html   |   543 +-
 .../apache/hadoop/hbase/util/TestFSVisitor.html |    12 +-
 .../hbase/util/TestHBaseFsckEncryption.html     |     2 +-
 .../hadoop/hbase/util/TestHBaseFsckMOB.html     |     2 +-
 .../hadoop/hbase/util/TestHBaseFsckOneRS.html   |     6 +-
 .../hbase/util/TestHBaseFsckReplicas.html       |   555 +-
 .../hadoop/hbase/util/TestHBaseFsckTwoRS.html   |  1169 +-
 .../hbase/util/TestIdLock.IdLockTestThread.html |    35 +-
 .../apache/hadoop/hbase/util/TestIdLock.html    |    35 +-
 .../TestIdReadWriteLock.IdLockTestThread.html   |   225 +-
 .../hadoop/hbase/util/TestIdReadWriteLock.html  |   225 +-
 .../apache/hadoop/hbase/util/TestKeyLocker.html |     2 +-
 .../hbase/util/TestLoadTestKVGenerator.html     |     2 +-
 .../hbase/util/TestMiniClusterLoadEncoded.html  |     2 +-
 .../util/TestMiniClusterLoadSequential.html     |     2 +-
 .../hbase/util/TestPoolMap.TestPoolType.html    |     6 +-
 .../util/TestPoolMap.TestReusablePoolType.html  |     6 +-
 .../TestPoolMap.TestRoundRobinPoolType.html     |     6 +-
 .../TestPoolMap.TestThreadLocalPoolType.html    |     6 +-
 .../apache/hadoop/hbase/util/TestPoolMap.html   |     6 +-
 .../hbase/util/TestRegionSizeCalculator.html    |     2 +-
 .../TestRegionSplitCalculator.SimpleRange.html  |   516 +-
 .../hbase/util/TestRegionSplitCalculator.html   |   516 +-
 .../hadoop/hbase/util/TestRegionSplitter.html   |     6 +-
 .../hbase/util/TestSortedCopyOnWriteSet.html    |   107 +-
 .../util/TestSortedList.StringComparator.html   |   197 +-
 .../hadoop/hbase/util/TestSortedList.html       |   197 +-
 .../hadoop/hbase/util/TestWeakObjectPool.html   |     8 +-
 .../util/hbck/OfflineMetaRebuildTestCore.html   |     2 +-
 .../wal/IOTestProvider.AllowedOperations.html   |     2 +-
 .../hbase/wal/IOTestProvider.IOTestWAL.html     |     2 +-
 .../hbase/wal/IOTestProvider.IOTestWriter.html  |     2 +-
 .../apache/hadoop/hbase/wal/IOTestProvider.html |     2 +-
 .../wal/TestBoundedRegionGroupingStrategy.html  |     2 +-
 .../hadoop/hbase/wal/TestFSHLogProvider.html    |    10 +-
 .../apache/hadoop/hbase/wal/TestSecureWAL.html  |   119 +-
 .../TestWALFactory.DumbWALActionsListener.html  |  1030 +-
 .../apache/hadoop/hbase/wal/TestWALFactory.html |  1030 +-
 .../hadoop/hbase/wal/TestWALFiltering.html      |    91 +-
 .../apache/hadoop/hbase/wal/TestWALMethods.html |   291 +-
 .../hbase/wal/TestWALReaderOnSecureWAL.html     |   283 +-
 .../hbase/wal/TestWALSplit.Corruptions.html     |     8 +-
 ...ALSplit.ZombieLastLogWriterRegionServer.html |     8 +-
 .../apache/hadoop/hbase/wal/TestWALSplit.html   |     8 +-
 ...ALPerformanceEvaluation.WALPutBenchmark.html |   917 +-
 .../hbase/wal/WALPerformanceEvaluation.html     |   917 +-
 .../hbase/zookeeper/TestInstancePending.html    |     4 +-
 .../hadoop/hbase/zookeeper/TestZKMulti.html     |    32 +-
 .../hadoop/hbase/zookeeper/TestZKUtil.html      |    80 +-
 ...ZooKeeperACL.DummySecurityConfiguration.html |     2 +-
 .../hbase/zookeeper/TestZooKeeperACL.html       |     2 +-
 4097 files changed, 918359 insertions(+), 941677 deletions(-)
----------------------------------------------------------------------



[16/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
index 3e67195..3a0b315 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
@@ -91,7 +91,7 @@
 <span class="sourceLineNo">083</span>      p = fuzzyKeysData.get(i);<a name="line.83"></a>
 <span class="sourceLineNo">084</span>      if (p.getFirst().length != p.getSecond().length) {<a name="line.84"></a>
 <span class="sourceLineNo">085</span>        Pair&lt;String, String&gt; readable =<a name="line.85"></a>
-<span class="sourceLineNo">086</span>            new Pair&lt;String, String&gt;(Bytes.toStringBinary(p.getFirst()), Bytes.toStringBinary(p<a name="line.86"></a>
+<span class="sourceLineNo">086</span>            new Pair&lt;&gt;(Bytes.toStringBinary(p.getFirst()), Bytes.toStringBinary(p<a name="line.86"></a>
 <span class="sourceLineNo">087</span>                .getSecond()));<a name="line.87"></a>
 <span class="sourceLineNo">088</span>        throw new IllegalArgumentException("Fuzzy pair lengths do not match: " + readable);<a name="line.88"></a>
 <span class="sourceLineNo">089</span>      }<a name="line.89"></a>
@@ -199,440 +199,439 @@
 <span class="sourceLineNo">191</span>    private boolean initialized = false;<a name="line.191"></a>
 <span class="sourceLineNo">192</span><a name="line.192"></a>
 <span class="sourceLineNo">193</span>    RowTracker() {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      nextRows =<a name="line.194"></a>
-<span class="sourceLineNo">195</span>          new PriorityQueue&lt;Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt;&gt;(fuzzyKeysData.size(),<a name="line.195"></a>
-<span class="sourceLineNo">196</span>              new Comparator&lt;Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt;&gt;() {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>                @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>                public int compare(Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; o1,<a name="line.198"></a>
-<span class="sourceLineNo">199</span>                    Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; o2) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>                  return isReversed()? Bytes.compareTo(o2.getFirst(), o1.getFirst()):<a name="line.200"></a>
-<span class="sourceLineNo">201</span>                    Bytes.compareTo(o1.getFirst(), o2.getFirst());<a name="line.201"></a>
-<span class="sourceLineNo">202</span>                }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>              });<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>    byte[] nextRow() {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      if (nextRows.isEmpty()) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        throw new IllegalStateException(<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            "NextRows should not be empty, make sure to call nextRow() after updateTracker() return true");<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      } else {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        return nextRows.peek().getFirst();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      }<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>    boolean updateTracker(Cell currentCell) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      if (!initialized) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>          updateWith(currentCell, fuzzyData);<a name="line.218"></a>
-<span class="sourceLineNo">219</span>        }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        initialized = true;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      } else {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        while (!nextRows.isEmpty() &amp;&amp; !lessThan(currentCell, nextRows.peek().getFirst())) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>          Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; head = nextRows.poll();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>          Pair&lt;byte[], byte[]&gt; fuzzyData = head.getSecond();<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          updateWith(currentCell, fuzzyData);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        }<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      }<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      return !nextRows.isEmpty();<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    boolean lessThan(Cell currentCell, byte[] nextRowKey) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      int compareResult =<a name="line.232"></a>
-<span class="sourceLineNo">233</span>          CellComparator.COMPARATOR.compareRows(currentCell, nextRowKey, 0, nextRowKey.length);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      return (!isReversed() &amp;&amp; compareResult &lt; 0) || (isReversed() &amp;&amp; compareResult &gt; 0);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>    void updateWith(Cell currentCell, Pair&lt;byte[], byte[]&gt; fuzzyData) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      byte[] nextRowKeyCandidate =<a name="line.238"></a>
-<span class="sourceLineNo">239</span>          getNextForFuzzyRule(isReversed(), currentCell.getRowArray(), currentCell.getRowOffset(),<a name="line.239"></a>
-<span class="sourceLineNo">240</span>            currentCell.getRowLength(), fuzzyData.getFirst(), fuzzyData.getSecond());<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      if (nextRowKeyCandidate != null) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        nextRows.add(new Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt;(nextRowKeyCandidate, fuzzyData));<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      }<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  @Override<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  public boolean filterAllRemaining() {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    return done;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  /**<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @return The filter serialized using pb<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   */<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  public byte[] toByteArray() {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    FilterProtos.FuzzyRowFilter.Builder builder = FilterProtos.FuzzyRowFilter.newBuilder();<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      BytesBytesPair.Builder bbpBuilder = BytesBytesPair.newBuilder();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      bbpBuilder.setFirst(UnsafeByteOperations.unsafeWrap(fuzzyData.getFirst()));<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      bbpBuilder.setSecond(UnsafeByteOperations.unsafeWrap(fuzzyData.getSecond()));<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      builder.addFuzzyKeysData(bbpBuilder);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    return builder.build().toByteArray();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   * @param pbBytes A pb serialized {@link FuzzyRowFilter} instance<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * @return An instance of {@link FuzzyRowFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @throws DeserializationException<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * @see #toByteArray<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  public static FuzzyRowFilter parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    FilterProtos.FuzzyRowFilter proto;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    try {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      proto = FilterProtos.FuzzyRowFilter.parseFrom(pbBytes);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } catch (InvalidProtocolBufferException e) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      throw new DeserializationException(e);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    int count = proto.getFuzzyKeysDataCount();<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    ArrayList&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeysData = new ArrayList&lt;Pair&lt;byte[], byte[]&gt;&gt;(count);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    for (int i = 0; i &lt; count; ++i) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      BytesBytesPair current = proto.getFuzzyKeysData(i);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      byte[] keyBytes = current.getFirst().toByteArray();<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      byte[] keyMeta = current.getSecond().toByteArray();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      fuzzyKeysData.add(new Pair&lt;byte[], byte[]&gt;(keyBytes, keyMeta));<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    }<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    return new FuzzyRowFilter(fuzzyKeysData);<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>  @Override<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public String toString() {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    final StringBuilder sb = new StringBuilder();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    sb.append("FuzzyRowFilter");<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    sb.append("{fuzzyKeysData=");<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      sb.append('{').append(Bytes.toStringBinary(fuzzyData.getFirst())).append(":");<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      sb.append(Bytes.toStringBinary(fuzzyData.getSecond())).append('}');<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    sb.append("}, ");<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return sb.toString();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  // Utility methods<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  static enum SatisfiesCode {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    /** row satisfies fuzzy rule */<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    YES,<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    /** row doesn't satisfy fuzzy rule, but there's possible greater row that does */<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    NEXT_EXISTS,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    /** row doesn't satisfy fuzzy rule and there's no greater row that does */<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    NO_NEXT<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  @VisibleForTesting<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  static SatisfiesCode satisfies(byte[] row, byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return satisfies(false, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  @VisibleForTesting<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  static SatisfiesCode satisfies(boolean reverse, byte[] row, byte[] fuzzyKeyBytes,<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      byte[] fuzzyKeyMeta) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    return satisfies(reverse, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  static SatisfiesCode satisfies(boolean reverse, byte[] row, int offset, int length,<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>    if (!UNSAFE_UNALIGNED) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      return satisfiesNoUnsafe(reverse, row, offset, length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    }<a name="line.331"></a>
-<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span>    if (row == null) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      // do nothing, let scan to proceed<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return SatisfiesCode.YES;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    length = Math.min(length, fuzzyKeyBytes.length);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    int numWords = length / Bytes.SIZEOF_LONG;<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    int j = numWords &lt;&lt; 3; // numWords * SIZEOF_LONG;<a name="line.340"></a>
-<span class="sourceLineNo">341</span><a name="line.341"></a>
-<span class="sourceLineNo">342</span>    for (int i = 0; i &lt; j; i += Bytes.SIZEOF_LONG) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      long fuzzyBytes = UnsafeAccess.toLong(fuzzyKeyBytes, i);<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      long fuzzyMeta = UnsafeAccess.toLong(fuzzyKeyMeta, i);<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      long rowValue = UnsafeAccess.toLong(row, offset + i);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        // We always return NEXT_EXISTS<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      }<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>    int off = j;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>    if (length - off &gt;= Bytes.SIZEOF_INT) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      int fuzzyBytes = UnsafeAccess.toInt(fuzzyKeyBytes, off);<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      int fuzzyMeta = UnsafeAccess.toInt(fuzzyKeyMeta, off);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      int rowValue = UnsafeAccess.toInt(row, offset + off);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        // We always return NEXT_EXISTS<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      off += Bytes.SIZEOF_INT;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    if (length - off &gt;= Bytes.SIZEOF_SHORT) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      short fuzzyBytes = UnsafeAccess.toShort(fuzzyKeyBytes, off);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      short fuzzyMeta = UnsafeAccess.toShort(fuzzyKeyMeta, off);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      short rowValue = UnsafeAccess.toShort(row, offset + off);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        // We always return NEXT_EXISTS<a name="line.370"></a>
-<span class="sourceLineNo">371</span>        // even if it does not (in this case getNextForFuzzyRule<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        // will return null)<a name="line.372"></a>
-<span class="sourceLineNo">373</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      off += Bytes.SIZEOF_SHORT;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    if (length - off &gt;= Bytes.SIZEOF_BYTE) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      int fuzzyBytes = fuzzyKeyBytes[off] &amp; 0xff;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      int fuzzyMeta = fuzzyKeyMeta[off] &amp; 0xff;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      int rowValue = row[offset + off] &amp; 0xff;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        // We always return NEXT_EXISTS<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      }<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    }<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    return SatisfiesCode.YES;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  static SatisfiesCode satisfiesNoUnsafe(boolean reverse, byte[] row, int offset, int length,<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    if (row == null) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      // do nothing, let scan to proceed<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      return SatisfiesCode.YES;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span><a name="line.396"></a>
-<span class="sourceLineNo">397</span>    Order order = Order.orderFor(reverse);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    boolean nextRowKeyCandidateExists = false;<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    for (int i = 0; i &lt; fuzzyKeyMeta.length &amp;&amp; i &lt; length; i++) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      // First, checking if this position is fixed and not equals the given one<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      boolean byteAtPositionFixed = fuzzyKeyMeta[i] == 0;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      boolean fixedByteIncorrect = byteAtPositionFixed &amp;&amp; fuzzyKeyBytes[i] != row[i + offset];<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      if (fixedByteIncorrect) {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>        // in this case there's another row that satisfies fuzzy rule and bigger than this row<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        if (nextRowKeyCandidateExists) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        }<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>        // If this row byte is less than fixed then there's a byte array bigger than<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        // this row and which satisfies the fuzzy rule. Otherwise there's no such byte array:<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        // this row is simply bigger than any byte array that satisfies the fuzzy rule<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        boolean rowByteLessThanFixed = (row[i + offset] &amp; 0xFF) &lt; (fuzzyKeyBytes[i] &amp; 0xFF);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        if (rowByteLessThanFixed &amp;&amp; !reverse) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        } else if (!rowByteLessThanFixed &amp;&amp; reverse) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        } else {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>          return SatisfiesCode.NO_NEXT;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        }<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>      // Second, checking if this position is not fixed and byte value is not the biggest. In this<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      // case there's a byte array bigger than this row and which satisfies the fuzzy rule. To get<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      // bigger byte array that satisfies the rule we need to just increase this byte<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      // (see the code of getNextForFuzzyRule below) by one.<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      // Note: if non-fixed byte is already at biggest value, this doesn't allow us to say there's<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      // bigger one that satisfies the rule as it can't be increased.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      if (fuzzyKeyMeta[i] == 1 &amp;&amp; !order.isMax(fuzzyKeyBytes[i])) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        nextRowKeyCandidateExists = true;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>      }<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    }<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return SatisfiesCode.YES;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  @VisibleForTesting<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  static byte[] getNextForFuzzyRule(byte[] row, byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return getNextForFuzzyRule(false, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  @VisibleForTesting<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  static byte[] getNextForFuzzyRule(boolean reverse, byte[] row, byte[] fuzzyKeyBytes,<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      byte[] fuzzyKeyMeta) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    return getNextForFuzzyRule(reverse, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>  /** Abstracts directional comparisons based on scan direction. */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  private enum Order {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    ASC {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      public boolean lt(int lhs, int rhs) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        return lhs &lt; rhs;<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>      public boolean gt(int lhs, int rhs) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        return lhs &gt; rhs;<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>      public byte inc(byte val) {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        // TODO: what about over/underflow?<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        return (byte) (val + 1);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      public boolean isMax(byte val) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        return val == (byte) 0xff;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>      public byte min() {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        return 0;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      }<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    },<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    DESC {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      public boolean lt(int lhs, int rhs) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        return lhs &gt; rhs;<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 boolean gt(int lhs, int rhs) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        return lhs &lt; rhs;<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 byte inc(byte val) {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>        // TODO: what about over/underflow?<a name="line.481"></a>
-<span class="sourceLineNo">482</span>        return (byte) (val - 1);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      }<a name="line.483"></a>
-<span class="sourceLineNo">484</span><a name="line.484"></a>
-<span class="sourceLineNo">485</span>      public boolean isMax(byte val) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>        return val == 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      }<a name="line.487"></a>
-<span class="sourceLineNo">488</span><a name="line.488"></a>
-<span class="sourceLineNo">489</span>      public byte min() {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>        return (byte) 0xFF;<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>
-<span class="sourceLineNo">493</span><a name="line.493"></a>
-<span class="sourceLineNo">494</span>    public static Order orderFor(boolean reverse) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return reverse ? DESC : ASC;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    /** Returns true when {@code lhs &lt; rhs}. */<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    public abstract boolean lt(int lhs, int rhs);<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>    /** Returns true when {@code lhs &gt; rhs}. */<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public abstract boolean gt(int lhs, int rhs);<a name="line.502"></a>
-<span class="sourceLineNo">503</span><a name="line.503"></a>
-<span class="sourceLineNo">504</span>    /** Returns {@code val} incremented by 1. */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    public abstract byte inc(byte val);<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>    /** Return true when {@code val} is the maximum value */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    public abstract boolean isMax(byte val);<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>    /** Return the minimum value according to this ordering scheme. */<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    public abstract byte min();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>  /**<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * @return greater byte array than given (row) which satisfies the fuzzy rule if it exists, null<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   *         otherwise<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  @VisibleForTesting<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  static byte[] getNextForFuzzyRule(boolean reverse, byte[] row, int offset, int length,<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // To find out the next "smallest" byte array that satisfies fuzzy rule and "greater" than<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    // the given one we do the following:<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    // 1. setting values on all "fixed" positions to the values from fuzzyKeyBytes<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // 2. if during the first step given row did not increase, then we increase the value at<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    // the first "non-fixed" position (where it is not maximum already)<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    // It is easier to perform this by using fuzzyKeyBytes copy and setting "non-fixed" position<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    // values than otherwise.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    byte[] result =<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        Arrays.copyOf(fuzzyKeyBytes, length &gt; fuzzyKeyBytes.length ? length : fuzzyKeyBytes.length);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    if (reverse &amp;&amp; length &gt; fuzzyKeyBytes.length) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      // we need trailing 0xff's instead of trailing 0x00's<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      for (int i = fuzzyKeyBytes.length; i &lt; result.length; i++) {<a name="line.533"></a>
-<span class="sourceLineNo">534</span>        result[i] = (byte) 0xFF;<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      }<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    }<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int toInc = -1;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    final Order order = Order.orderFor(reverse);<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>    boolean increased = false;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    for (int i = 0; i &lt; result.length; i++) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      if (i &gt;= fuzzyKeyMeta.length || fuzzyKeyMeta[i] == 0 /* non-fixed */) {<a name="line.542"></a>
-<span class="sourceLineNo">543</span>        result[i] = row[offset + i];<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        if (!order.isMax(row[offset + i])) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>          // this is "non-fixed" position and is not at max value, hence we can increase it<a name="line.545"></a>
-<span class="sourceLineNo">546</span>          toInc = i;<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      } else if (i &lt; fuzzyKeyMeta.length &amp;&amp; fuzzyKeyMeta[i] == -1 /* fixed */) {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>        if (order.lt((row[i + offset] &amp; 0xFF), (fuzzyKeyBytes[i] &amp; 0xFF))) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>          // if setting value for any fixed position increased the original array,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>          // we are OK<a name="line.551"></a>
-<span class="sourceLineNo">552</span>          increased = true;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>          break;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>        }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>        if (order.gt((row[i + offset] &amp; 0xFF), (fuzzyKeyBytes[i] &amp; 0xFF))) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>          // if setting value for any fixed position makes array "smaller", then just stop:<a name="line.557"></a>
-<span class="sourceLineNo">558</span>          // in case we found some non-fixed position to increase we will do it, otherwise<a name="line.558"></a>
-<span class="sourceLineNo">559</span>          // there's no "next" row key that satisfies fuzzy rule and "greater" than given row<a name="line.559"></a>
-<span class="sourceLineNo">560</span>          break;<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        }<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (!increased) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      if (toInc &lt; 0) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>        return null;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      result[toInc] = order.inc(result[toInc]);<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>      // Setting all "non-fixed" positions to zeroes to the right of the one we increased so<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      // that found "next" row key is the smallest possible<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      for (int i = toInc + 1; i &lt; result.length; i++) {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        if (i &gt;= fuzzyKeyMeta.length || fuzzyKeyMeta[i] == 0 /* non-fixed */) {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>          result[i] = order.min();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>        }<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span>    return reverse? result: trimTrailingZeroes(result, fuzzyKeyMeta, toInc);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
-<span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * For forward scanner, next cell hint should  not contain any trailing zeroes<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * unless they are part of fuzzyKeyMeta<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * hint = '\x01\x01\x01\x00\x00'<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   * will skip valid row '\x01\x01\x01'<a name="line.587"></a>
-<span class="sourceLineNo">588</span>   * <a name="line.588"></a>
-<span class="sourceLineNo">589</span>   * @param result<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   * @param fuzzyKeyMeta<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * @param toInc - position of incremented byte<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @return trimmed version of result<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 static byte[] trimTrailingZeroes(byte[] result, byte[] fuzzyKeyMeta, int toInc) {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    int off = fuzzyKeyMeta.length &gt;= result.length? result.length -1:<a name="line.596"></a>
-<span class="sourceLineNo">597</span>           fuzzyKeyMeta.length -1;  <a name="line.597"></a>
-<span class="sourceLineNo">598</span>    for( ; off &gt;= 0; off--){<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if(fuzzyKeyMeta[off] != 0) break;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    }<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    if (off &lt; toInc)  off = toInc;<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    byte[] retValue = new byte[off+1];<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    System.arraycopy(result, 0, retValue, 0, retValue.length);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    return retValue;<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>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   *         corresponding fields in other. Used for testing.<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   */<a name="line.610"></a>
-<span class="sourceLineNo">611</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    if (o == this) return true;<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    if (!(o instanceof FuzzyRowFilter)) return false;<a name="line.613"></a>
-<span class="sourceLineNo">614</span><a name="line.614"></a>
-<span class="sourceLineNo">615</span>    FuzzyRowFilter other = (FuzzyRowFilter) o;<a name="line.615"></a>
-<span class="sourceLineNo">616</span>    if (this.fuzzyKeysData.size() != other.fuzzyKeysData.size()) return false;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    for (int i = 0; i &lt; fuzzyKeysData.size(); ++i) {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      Pair&lt;byte[], byte[]&gt; thisData = this.fuzzyKeysData.get(i);<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      Pair&lt;byte[], byte[]&gt; otherData = other.fuzzyKeysData.get(i);<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      if (!(Bytes.equals(thisData.getFirst(), otherData.getFirst()) &amp;&amp; Bytes.equals(<a name="line.620"></a>
-<span class="sourceLineNo">621</span>        thisData.getSecond(), otherData.getSecond()))) {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        return false;<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>    return true;<a name="line.625"></a>
-<span class="sourceLineNo">626</span>  }<a name="line.626"></a>
-<span class="sourceLineNo">627</span>}<a name="line.627"></a>
+<span class="sourceLineNo">194</span>      nextRows = new PriorityQueue&lt;&gt;(fuzzyKeysData.size(),<a name="line.194"></a>
+<span class="sourceLineNo">195</span>              new Comparator&lt;Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt;&gt;() {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>                @Override<a name="line.196"></a>
+<span class="sourceLineNo">197</span>                public int compare(Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; o1,<a name="line.197"></a>
+<span class="sourceLineNo">198</span>                    Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; o2) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>                  return isReversed()? Bytes.compareTo(o2.getFirst(), o1.getFirst()):<a name="line.199"></a>
+<span class="sourceLineNo">200</span>                    Bytes.compareTo(o1.getFirst(), o2.getFirst());<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>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>    byte[] nextRow() {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      if (nextRows.isEmpty()) {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        throw new IllegalStateException(<a name="line.207"></a>
+<span class="sourceLineNo">208</span>            "NextRows should not be empty, make sure to call nextRow() after updateTracker() return true");<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      } else {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>        return nextRows.peek().getFirst();<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><a name="line.213"></a>
+<span class="sourceLineNo">214</span>    boolean updateTracker(Cell currentCell) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      if (!initialized) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>        for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>          updateWith(currentCell, fuzzyData);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        initialized = true;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      } else {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        while (!nextRows.isEmpty() &amp;&amp; !lessThan(currentCell, nextRows.peek().getFirst())) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; head = nextRows.poll();<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          Pair&lt;byte[], byte[]&gt; fuzzyData = head.getSecond();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          updateWith(currentCell, fuzzyData);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>        }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      }<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      return !nextRows.isEmpty();<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>    boolean lessThan(Cell currentCell, byte[] nextRowKey) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      int compareResult =<a name="line.231"></a>
+<span class="sourceLineNo">232</span>          CellComparator.COMPARATOR.compareRows(currentCell, nextRowKey, 0, nextRowKey.length);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      return (!isReversed() &amp;&amp; compareResult &lt; 0) || (isReversed() &amp;&amp; compareResult &gt; 0);<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>    void updateWith(Cell currentCell, Pair&lt;byte[], byte[]&gt; fuzzyData) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      byte[] nextRowKeyCandidate =<a name="line.237"></a>
+<span class="sourceLineNo">238</span>          getNextForFuzzyRule(isReversed(), currentCell.getRowArray(), currentCell.getRowOffset(),<a name="line.238"></a>
+<span class="sourceLineNo">239</span>            currentCell.getRowLength(), fuzzyData.getFirst(), fuzzyData.getSecond());<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      if (nextRowKeyCandidate != null) {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        nextRows.add(new Pair&lt;&gt;(nextRowKeyCandidate, fuzzyData));<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      }<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
+<span class="sourceLineNo">244</span><a name="line.244"></a>
+<span class="sourceLineNo">245</span>  }<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span>  @Override<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  public boolean filterAllRemaining() {<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    return done;<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>  /**<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * @return The filter serialized using pb<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  public byte[] toByteArray() {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    FilterProtos.FuzzyRowFilter.Builder builder = FilterProtos.FuzzyRowFilter.newBuilder();<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      BytesBytesPair.Builder bbpBuilder = BytesBytesPair.newBuilder();<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      bbpBuilder.setFirst(UnsafeByteOperations.unsafeWrap(fuzzyData.getFirst()));<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      bbpBuilder.setSecond(UnsafeByteOperations.unsafeWrap(fuzzyData.getSecond()));<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      builder.addFuzzyKeysData(bbpBuilder);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    return builder.build().toByteArray();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>  /**<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * @param pbBytes A pb serialized {@link FuzzyRowFilter} instance<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @return An instance of {@link FuzzyRowFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * @throws DeserializationException<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * @see #toByteArray<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  public static FuzzyRowFilter parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    FilterProtos.FuzzyRowFilter proto;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      proto = FilterProtos.FuzzyRowFilter.parseFrom(pbBytes);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    } catch (InvalidProtocolBufferException e) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      throw new DeserializationException(e);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    int count = proto.getFuzzyKeysDataCount();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    ArrayList&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeysData = new ArrayList&lt;&gt;(count);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    for (int i = 0; i &lt; count; ++i) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      BytesBytesPair current = proto.getFuzzyKeysData(i);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      byte[] keyBytes = current.getFirst().toByteArray();<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      byte[] keyMeta = current.getSecond().toByteArray();<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      fuzzyKeysData.add(new Pair&lt;&gt;(keyBytes, keyMeta));<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    }<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    return new FuzzyRowFilter(fuzzyKeysData);<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>  @Override<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  public String toString() {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    final StringBuilder sb = new StringBuilder();<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    sb.append("FuzzyRowFilter");<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    sb.append("{fuzzyKeysData=");<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      sb.append('{').append(Bytes.toStringBinary(fuzzyData.getFirst())).append(":");<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      sb.append(Bytes.toStringBinary(fuzzyData.getSecond())).append('}');<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    sb.append("}, ");<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    return sb.toString();<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  }<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>  // Utility methods<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  static enum SatisfiesCode {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    /** row satisfies fuzzy rule */<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    YES,<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    /** row doesn't satisfy fuzzy rule, but there's possible greater row that does */<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    NEXT_EXISTS,<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    /** row doesn't satisfy fuzzy rule and there's no greater row that does */<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    NO_NEXT<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  }<a name="line.312"></a>
+<span class="sourceLineNo">313</span><a name="line.313"></a>
+<span class="sourceLineNo">314</span>  @VisibleForTesting<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  static SatisfiesCode satisfies(byte[] row, byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    return satisfies(false, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<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>  @VisibleForTesting<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  static SatisfiesCode satisfies(boolean reverse, byte[] row, byte[] fuzzyKeyBytes,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      byte[] fuzzyKeyMeta) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    return satisfies(reverse, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  static SatisfiesCode satisfies(boolean reverse, byte[] row, int offset, int length,<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span>    if (!UNSAFE_UNALIGNED) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return satisfiesNoUnsafe(reverse, row, offset, length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    if (row == null) {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      // do nothing, let scan to proceed<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      return SatisfiesCode.YES;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    length = Math.min(length, fuzzyKeyBytes.length);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    int numWords = length / Bytes.SIZEOF_LONG;<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>    int j = numWords &lt;&lt; 3; // numWords * SIZEOF_LONG;<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>    for (int i = 0; i &lt; j; i += Bytes.SIZEOF_LONG) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      long fuzzyBytes = UnsafeAccess.toLong(fuzzyKeyBytes, i);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      long fuzzyMeta = UnsafeAccess.toLong(fuzzyKeyMeta, i);<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      long rowValue = UnsafeAccess.toLong(row, offset + i);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>        // We always return NEXT_EXISTS<a name="line.346"></a>
+<span class="sourceLineNo">347</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      }<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    }<a name="line.349"></a>
+<span class="sourceLineNo">350</span><a name="line.350"></a>
+<span class="sourceLineNo">351</span>    int off = j;<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>    if (length - off &gt;= Bytes.SIZEOF_INT) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      int fuzzyBytes = UnsafeAccess.toInt(fuzzyKeyBytes, off);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      int fuzzyMeta = UnsafeAccess.toInt(fuzzyKeyMeta, off);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      int rowValue = UnsafeAccess.toInt(row, offset + off);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        // We always return NEXT_EXISTS<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      }<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      off += Bytes.SIZEOF_INT;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    }<a name="line.362"></a>
+<span class="sourceLineNo">363</span><a name="line.363"></a>
+<span class="sourceLineNo">364</span>    if (length - off &gt;= Bytes.SIZEOF_SHORT) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      short fuzzyBytes = UnsafeAccess.toShort(fuzzyKeyBytes, off);<a name="line.365"></a>
+<span class="sourceLineNo">366</span>      short fuzzyMeta = UnsafeAccess.toShort(fuzzyKeyMeta, off);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      short rowValue = UnsafeAccess.toShort(row, offset + off);<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>        // We always return NEXT_EXISTS<a name="line.369"></a>
+<span class="sourceLineNo">370</span>        // even if it does not (in this case getNextForFuzzyRule<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        // will return null)<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      }<a name="line.373"></a>
+<span class="sourceLineNo">374</span>      off += Bytes.SIZEOF_SHORT;<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>    if (length - off &gt;= Bytes.SIZEOF_BYTE) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>      int fuzzyBytes = fuzzyKeyBytes[off] &amp; 0xff;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      int fuzzyMeta = fuzzyKeyMeta[off] &amp; 0xff;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      int rowValue = row[offset + off] &amp; 0xff;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>        // We always return NEXT_EXISTS<a name="line.382"></a>
+<span class="sourceLineNo">383</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    return SatisfiesCode.YES;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  }<a name="line.387"></a>
+<span class="sourceLineNo">388</span><a name="line.388"></a>
+<span class="sourceLineNo">389</span>  static SatisfiesCode satisfiesNoUnsafe(boolean reverse, byte[] row, int offset, int length,<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    if (row == null) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      // do nothing, let scan to proceed<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      return SatisfiesCode.YES;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>    Order order = Order.orderFor(reverse);<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    boolean nextRowKeyCandidateExists = false;<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>    for (int i = 0; i &lt; fuzzyKeyMeta.length &amp;&amp; i &lt; length; i++) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      // First, checking if this position is fixed and not equals the given one<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      boolean byteAtPositionFixed = fuzzyKeyMeta[i] == 0;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      boolean fixedByteIncorrect = byteAtPositionFixed &amp;&amp; fuzzyKeyBytes[i] != row[i + offset];<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      if (fixedByteIncorrect) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        // in this case there's another row that satisfies fuzzy rule and bigger than this row<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        if (nextRowKeyCandidateExists) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>        // If this row byte is less than fixed then there's a byte array bigger than<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        // this row and which satisfies the fuzzy rule. Otherwise there's no such byte array:<a name="line.410"></a>
+<span class="sourceLineNo">411</span>        // this row is simply bigger than any byte array that satisfies the fuzzy rule<a name="line.411"></a>
+<span class="sourceLineNo">412</span>        boolean rowByteLessThanFixed = (row[i + offset] &amp; 0xFF) &lt; (fuzzyKeyBytes[i] &amp; 0xFF);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>        if (rowByteLessThanFixed &amp;&amp; !reverse) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.414"></a>
+<span class="sourceLineNo">415</span>        } else if (!rowByteLessThanFixed &amp;&amp; reverse) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        } else {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>          return SatisfiesCode.NO_NEXT;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        }<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      }<a name="line.420"></a>
+<span class="sourceLineNo">421</span><a name="line.421"></a>
+<span class="sourceLineNo">422</span>      // Second, checking if this position is not fixed and byte value is not the biggest. In this<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      // case there's a byte array bigger than this row and which satisfies the fuzzy rule. To get<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      // bigger byte array that satisfies the rule we need to just increase this byte<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      // (see the code of getNextForFuzzyRule below) by one.<a name="line.425"></a>
+<span class="sourceLineNo">426</span>      // Note: if non-fixed byte is already at biggest value, this doesn't allow us to say there's<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      // bigger one that satisfies the rule as it can't be increased.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      if (fuzzyKeyMeta[i] == 1 &amp;&amp; !order.isMax(fuzzyKeyBytes[i])) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>        nextRowKeyCandidateExists = true;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      }<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    }<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    return SatisfiesCode.YES;<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  }<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  @VisibleForTesting<a name="line.435"></a>
+<span class="sourceLineNo">436</span>  static byte[] getNextForFuzzyRule(byte[] row, byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    return getNextForFuzzyRule(false, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
+<span class="sourceLineNo">439</span><a name="line.439"></a>
+<span class="sourceLineNo">440</span>  @VisibleForTesting<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  static byte[] getNextForFuzzyRule(boolean reverse, byte[] row, byte[] fuzzyKeyBytes,<a name="line.441"></a>
+<span class="sourceLineNo">442</span>      byte[] fuzzyKeyMeta) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    return getNextForFuzzyRule(reverse, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
+<span class="sourceLineNo">445</span><a name="line.445"></a>
+<span class="sourceLineNo">446</span>  /** Abstracts directional comparisons based on scan direction. */<a name="line.446"></a>
+<span class="sourceLineNo">447</span>  private enum Order {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    ASC {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      public boolean lt(int lhs, int rhs) {<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        return lhs &lt; rhs;<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      }<a name="line.451"></a>
+<span class="sourceLineNo">452</span><a name="line.452"></a>
+<span class="sourceLineNo">453</span>      public boolean gt(int lhs, int rhs) {<a name="line.453"></a>
+<span class="sourceLineNo">454</span>        return lhs &gt; rhs;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>      public byte inc(byte val) {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        // TODO: what about over/underflow?<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        return (byte) (val + 1);<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>      public boolean isMax(byte val) {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>        return val == (byte) 0xff;<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>      public byte min() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        return 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>    DESC {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      public boolean lt(int lhs, int rhs) {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>        return lhs &gt; rhs;<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      }<a name="line.473"></a>
+<span class="sourceLineNo">474</span><a name="line.474"></a>
+<span class="sourceLineNo">475</span>      public boolean gt(int lhs, int rhs) {<a name="line.475"></a>
+<span class="sourceLineNo">476</span>        return lhs &lt; rhs;<a name="line.476"></a>
+<span class="sourceLineNo">477</span>      }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>      public byte inc(byte val) {<a name="line.479"></a>
+<span class="sourceLineNo">480</span>        // TODO: what about over/underflow?<a name="line.480"></a>
+<span class="sourceLineNo">481</span>        return (byte) (val - 1);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">483</span><a name="line.483"></a>
+<span class="sourceLineNo">484</span>      public boolean isMax(byte val) {<a name="line.484"></a>
+<span class="sourceLineNo">485</span>        return val == 0;<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>      public byte min() {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return (byte) 0xFF;<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>
+<span class="sourceLineNo">493</span>    public static Order orderFor(boolean reverse) {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return reverse ? DESC : ASC;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    /** Returns true when {@code lhs &lt; rhs}. */<a name="line.497"></a>
+<span class="sourceLineNo">498</span>    public abstract boolean lt(int lhs, int rhs);<a name="line.498"></a>
+<span class="sourceLineNo">499</span><a name="line.499"></a>
+<span class="sourceLineNo">500</span>    /** Returns true when {@code lhs &gt; rhs}. */<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    public abstract boolean gt(int lhs, int rhs);<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span>    /** Returns {@code val} incremented by 1. */<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    public abstract byte inc(byte val);<a name="line.504"></a>
+<span class="sourceLineNo">505</span><a name="line.505"></a>
+<span class="sourceLineNo">506</span>    /** Return true when {@code val} is the maximum value */<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    public abstract boolean isMax(byte val);<a name="line.507"></a>
+<span class="sourceLineNo">508</span><a name="line.508"></a>
+<span class="sourceLineNo">509</span>    /** Return the minimum value according to this ordering scheme. */<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    public abstract byte min();<a name="line.510"></a>
+<span class="sourceLineNo">511</span>  }<a name="line.511"></a>
+<span class="sourceLineNo">512</span><a name="line.512"></a>
+<span class="sourceLineNo">513</span>  /**<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   * @return greater byte array than given (row) which satisfies the fuzzy rule if it exists, null<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   *         otherwise<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   */<a name="line.516"></a>
+<span class="sourceLineNo">517</span>  @VisibleForTesting<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  static byte[] getNextForFuzzyRule(boolean reverse, byte[] row, int offset, int length,<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    // To find out the next "smallest" byte array that satisfies fuzzy rule and "greater" than<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    // the given one we do the following:<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    // 1. setting values on all "fixed" positions to the values from fuzzyKeyBytes<a name="line.522"></a>
+<span class="sourceLineNo">523</span>    // 2. if during the first step given row did not increase, then we increase the value at<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    // the first "non-fixed" position (where it is not maximum already)<a name="line.524"></a>
+<span class="sourceLineNo">525</span><a name="line.525"></a>
+<span class="sourceLineNo">526</span>    // It is easier to perform this by using fuzzyKeyBytes copy and setting "non-fixed" position<a name="line.526"></a>
+<span class="sourceLineNo">527</span>    // values than otherwise.<a name="line.527"></a>
+<span class="sourceLineNo">528</span>    byte[] result =<a name="line.528"></a>
+<span class="sourceLineNo">529</span>        Arrays.copyOf(fuzzyKeyBytes, length &gt; fuzzyKeyBytes.length ? length : fuzzyKeyBytes.length);<a name="line.529"></a>
+<span class="sourceLineNo">530</span>    if (reverse &amp;&amp; length &gt; fuzzyKeyBytes.length) {<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      // we need trailing 0xff's instead of trailing 0x00's<a name="line.531"></a>
+<span class="sourceLineNo">532</span>      for (int i = fuzzyKeyBytes.length; i &lt; result.length; i++) {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>        result[i] = (byte) 0xFF;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>      }<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    }<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    int toInc = -1;<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    final Order order = Order.orderFor(reverse);<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span>    boolean increased = false;<a name="line.539"></a>
+<span class="sourceLineNo">540</span>    for (int i = 0; i &lt; result.length; i++) {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      if (i &gt;= fuzzyKeyMeta.length || fuzzyKeyMeta[i] == 0 /* non-fixed */) {<a name="line.541"></a>
+<span class="sourceLineNo">542</span>        result[i] = row[offset + i];<a name="line.542"></a>
+<span class="sourceLineNo">543</span>        if (!order.isMax(row[offset + i])) {<a name="line.543"></a>
+<span class="sourceLineNo">544</span>          // this is "non-fixed" position and is not at max value, hence we can increase it<a name="line.544"></a>
+<span class="sourceLineNo">545</span>          toInc = i;<a name="line.545"></a>
+<span class="sourceLineNo">546</span>        }<a name="line.546"></a>
+<span class="sourceLineNo">547</span>      } else if (i &lt; fuzzyKeyMeta.length &amp;&amp; fuzzyKeyMeta[i] == -1 /* fixed */) {<a name="line.547"></a>
+<span class="sourceLineNo">548</span>        if (order.lt((row[i + offset] &amp; 0xFF), (fuzzyKeyBytes[i] &amp; 0xFF))) {<a name="line.548"></a>
+<span class="sourceLineNo">549</span>          // if setting value for any fixed position increased the original array,<a name="line.549"></a>
+<span class="sourceLineNo">550</span>          // we are OK<a name="line.550"></a>
+<span class="sourceLineNo">551</span>          increased = true;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>          break;<a name="line.552"></a>
+<span class="sourceLineNo">553</span>        }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>        if (order.gt((row[i + offset] &amp; 0xFF), (fuzzyKeyBytes[i] &amp; 0xFF))) {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>          // if setting value for any fixed position makes array "smaller", then just stop:<a name="line.556"></a>
+<span class="sourceLineNo">557</span>          // in case we found some non-fixed position to increase we will do it, otherwise<a name="line.557"></a>
+<span class="sourceLineNo">558</span>          // there's no "next" row key that satisfies fuzzy rule and "greater" than given row<a name="line.558"></a>
+<span class="sourceLineNo">559</span>          break;<a name="line.559"></a>
+<span class="sourceLineNo">560</span>        }<a name="line.560"></a>
+<span class="sourceLineNo">561</span>      }<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    }<a name="line.562"></a>
+<span class="sourceLineNo">563</span><a name="line.563"></a>
+<span class="sourceLineNo">564</span>    if (!increased) {<a name="line.564"></a>
+<span class="sourceLineNo">565</span>      if (toInc &lt; 0) {<a name="line.565"></a>
+<span class="sourceLineNo">566</span>        return null;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>      }<a name="line.567"></a>
+<span class="sourceLineNo">568</span>      result[toInc] = order.inc(result[toInc]);<a name="line.568"></a>
+<span class="sourceLineNo">569</span><a name="line.569"></a>
+<span class="sourceLineNo">570</span>      // Setting all "non-fixed" positions to zeroes to the right of the one we increased so<a name="line.570"></a>
+<span class="sourceLineNo">571</span>      // that found "next" row key is the smallest possible<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      for (int i = toInc + 1; i &lt; result.length; i++) {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>        if (i &gt;= fuzzyKeyMeta.length || fuzzyKeyMeta[i] == 0 /* non-fixed */) {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>          result[i] = order.min();<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>    }<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>    return reverse? result: trimTrailingZeroes(result, fuzzyKeyMeta, toInc);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>  }<a name="line.580"></a>
+<span class="sourceLineNo">581</span><a name="line.581"></a>
+<span class="sourceLineNo">582</span>  /**<a name="line.582"></a>
+<span class="sourceLineNo">583</span>   * For forward scanner, next cell hint should  not contain any trailing zeroes<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   * unless they are part of fuzzyKeyMeta<a name="line.584"></a>
+<span class="sourceLineNo">585</span>   * hint = '\x01\x01\x01\x00\x00'<a name="line.585"></a>
+<span class="sourceLineNo">586</span>   * will skip valid row '\x01\x01\x01'<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   * <a name="line.587"></a>
+<span class="sourceLineNo">588</span>   * @param result<a name="line.588"></a>
+<span class="sourceLineNo">589</span>   * @param fuzzyKeyMeta<a name="line.589"></a>
+<span class="sourceLineNo">590</span>   * @param toInc - position of incremented byte<a name="line.590"></a>
+<span class="sourceLineNo">591</span>   * @return trimmed version of result<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>  private static byte[] trimTrailingZeroes(byte[] result, byte[] fuzzyKeyMeta, int toInc) {<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    int off = fuzzyKeyMeta.length &gt;= result.length? result.length -1:<a name="line.595"></a>
+<span class="sourceLineNo">596</span>           fuzzyKeyMeta.length -1;  <a name="line.596"></a>
+<span class="sourceLineNo">597</span>    for( ; off &gt;= 0; off--){<a name="line.597"></a>
+<span class="sourceLineNo">598</span>      if(fuzzyKeyMeta[off] != 0) break;<a name="line.598"></a>
+<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
+<span class="sourceLineNo">600</span>    if (off &lt; toInc)  off = toInc;<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    byte[] retValue = new byte[off+1];<a name="line.601"></a>
+<span class="sourceLineNo">602</span>    System.arraycopy(result, 0, retValue, 0, retValue.length);<a name="line.602"></a>
+<span class="sourceLineNo">603</span>    return retValue;<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>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.607"></a>
+<span class="sourceLineNo">608</span>   *         corresponding fields in other. Used for testing.<a name="line.608"></a>
+<span class="sourceLineNo">609</span>   */<a name="line.609"></a>
+<span class="sourceLineNo">610</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.610"></a>
+<span class="sourceLineNo">611</span>    if (o == this) return true;<a name="line.611"></a>
+<span class="sourceLineNo">612</span>    if (!(o instanceof FuzzyRowFilter)) return false;<a name="line.612"></a>
+<span class="sourceLineNo">613</span><a name="line.613"></a>
+<span class="sourceLineNo">614</span>    FuzzyRowFilter other = (FuzzyRowFilter) o;<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    if (this.fuzzyKeysData.size() != other.fuzzyKeysData.size()) return false;<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    for (int i = 0; i &lt; fuzzyKeysData.size(); ++i) {<a name="line.616"></a>
+<span class="sourceLineNo">617</span>      Pair&lt;byte[], byte[]&gt; thisData = this.fuzzyKeysData.get(i);<a name="line.617"></a>
+<span class="sourceLineNo">618</span>      Pair&lt;byte[], byte[]&gt; otherData = other.fuzzyKeysData.get(i);<a name="line.618"></a>
+<span class="sourceLineNo">619</span>      if (!(Bytes.equals(thisData.getFirst(), otherData.getFirst()) &amp;&amp; Bytes.equals(<a name="line.619"></a>
+<span class="sourceLineNo">620</span>        thisData.getSecond(), otherData.getSecond()))) {<a name="line.620"></a>
+<span class="sourceLineNo">621</span>        return false;<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>    return true;<a name="line.624"></a>
+<span class="sourceLineNo">625</span>  }<a name="line.625"></a>
+<span class="sourceLineNo">626</span>}<a name="line.626"></a>
 
 
 


[12/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
index 9c09190..07c69da 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
@@ -145,7 +145,7 @@
 <span class="sourceLineNo">137</span><a name="line.137"></a>
 <span class="sourceLineNo">138</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.138"></a>
 <span class="sourceLineNo">139</span>  createRecordWriter(final TaskAttemptContext context) throws IOException {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    return new HFileRecordWriter&lt;V&gt;(context, null);<a name="line.140"></a>
+<span class="sourceLineNo">140</span>    return new HFileRecordWriter&lt;&gt;(context, null);<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  }<a name="line.141"></a>
 <span class="sourceLineNo">142</span><a name="line.142"></a>
 <span class="sourceLineNo">143</span>  protected static class HFileRecordWriter&lt;V extends Cell&gt;<a name="line.143"></a>
@@ -219,7 +219,7 @@
 <span class="sourceLineNo">211</span>        overriddenEncoding = null;<a name="line.211"></a>
 <span class="sourceLineNo">212</span>      }<a name="line.212"></a>
 <span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>      writers = new TreeMap&lt;byte[], WriterLength&gt;(Bytes.BYTES_COMPARATOR);<a name="line.214"></a>
+<span class="sourceLineNo">214</span>      writers = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.214"></a>
 <span class="sourceLineNo">215</span>      previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.215"></a>
 <span class="sourceLineNo">216</span>      now = Bytes.toBytes(EnvironmentEdgeManager.currentTime());<a name="line.216"></a>
 <span class="sourceLineNo">217</span>      rollRequested = false;<a name="line.217"></a>
@@ -426,435 +426,429 @@
 <span class="sourceLineNo">418</span>  private static List&lt;ImmutableBytesWritable&gt; getRegionStartKeys(RegionLocator table)<a name="line.418"></a>
 <span class="sourceLineNo">419</span>  throws IOException {<a name="line.419"></a>
 <span class="sourceLineNo">420</span>    byte[][] byteKeys = table.getStartKeys();<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    ArrayList&lt;ImmutableBytesWritable&gt; ret =<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      new ArrayList&lt;ImmutableBytesWritable&gt;(byteKeys.length);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    for (byte[] byteKey : byteKeys) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      ret.add(new ImmutableBytesWritable(byteKey));<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    }<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    return ret;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  }<a name="line.427"></a>
-<span class="sourceLineNo">428</span><a name="line.428"></a>
-<span class="sourceLineNo">429</span>  /**<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * Write out a {@link SequenceFile} that can be read by<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   * {@link TotalOrderPartitioner} that contains the split points in startKeys.<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  @SuppressWarnings("deprecation")<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  private static void writePartitions(Configuration conf, Path partitionsPath,<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      List&lt;ImmutableBytesWritable&gt; startKeys) throws IOException {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    LOG.info("Writing partition information to " + partitionsPath);<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    if (startKeys.isEmpty()) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      throw new IllegalArgumentException("No regions passed");<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>    // We're generating a list of split points, and we don't ever<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    // have keys &lt; the first region (which has an empty start key)<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    // so we need to remove it. Otherwise we would end up with an<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    // empty reducer with index 0<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    TreeSet&lt;ImmutableBytesWritable&gt; sorted =<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      new TreeSet&lt;ImmutableBytesWritable&gt;(startKeys);<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>    ImmutableBytesWritable first = sorted.first();<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    if (!first.equals(HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      throw new IllegalArgumentException(<a name="line.450"></a>
-<span class="sourceLineNo">451</span>          "First region of table should have empty start key. Instead has: "<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          + Bytes.toStringBinary(first.get()));<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    sorted.remove(first);<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    // Write the actual file<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    FileSystem fs = partitionsPath.getFileSystem(conf);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    SequenceFile.Writer writer = SequenceFile.createWriter(<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      fs, conf, partitionsPath, ImmutableBytesWritable.class,<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      NullWritable.class);<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>    try {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      for (ImmutableBytesWritable startKey : sorted) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        writer.append(startKey, NullWritable.get());<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    } finally {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      writer.close();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    }<a name="line.468"></a>
-<span class="sourceLineNo">469</span>  }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>  /**<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * Configure a MapReduce Job to perform an incremental load into the given<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   * table. This<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   * &lt;ul&gt;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   *   &lt;li&gt;Inspects the table to configure a total order partitioner&lt;/li&gt;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   *   &lt;li&gt;Uploads the partitions file to the cluster and adds it to the DistributedCache&lt;/li&gt;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   *   &lt;li&gt;Sets the number of reduce tasks to match the current number of regions&lt;/li&gt;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   *   &lt;li&gt;Sets the output key/value class to match HFileOutputFormat2's requirements&lt;/li&gt;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   *   &lt;li&gt;Sets the reducer up to perform the appropriate sorting (either KeyValueSortReducer or<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   *     PutSortReducer)&lt;/li&gt;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * &lt;/ul&gt;<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * The user should be sure to set the map output value class to either KeyValue or Put before<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * running this function.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  public static void configureIncrementalLoad(Job job, Table table, RegionLocator regionLocator)<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      throws IOException {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>  }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>  /**<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * Configure a MapReduce Job to perform an incremental load into the given<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * table. This<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * &lt;ul&gt;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   *   &lt;li&gt;Inspects the table to configure a total order partitioner&lt;/li&gt;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   *   &lt;li&gt;Uploads the partitions file to the cluster and adds it to the DistributedCache&lt;/li&gt;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   *   &lt;li&gt;Sets the number of reduce tasks to match the current number of regions&lt;/li&gt;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   *   &lt;li&gt;Sets the output key/value class to match HFileOutputFormat2's requirements&lt;/li&gt;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   *   &lt;li&gt;Sets the reducer up to perform the appropriate sorting (either KeyValueSortReducer or<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   *     PutSortReducer)&lt;/li&gt;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   * &lt;/ul&gt;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * The user should be sure to set the map output value class to either KeyValue or Put before<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * running this function.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   */<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  public static void configureIncrementalLoad(Job job, HTableDescriptor tableDescriptor,<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      RegionLocator regionLocator) throws IOException {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    configureIncrementalLoad(job, tableDescriptor, regionLocator, HFileOutputFormat2.class);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  static void configureIncrementalLoad(Job job, HTableDescriptor tableDescriptor,<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      RegionLocator regionLocator, Class&lt;? extends OutputFormat&lt;?, ?&gt;&gt; cls) throws IOException,<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      UnsupportedEncodingException {<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Configuration conf = job.getConfiguration();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    job.setOutputKeyClass(ImmutableBytesWritable.class);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    job.setOutputValueClass(KeyValue.class);<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    job.setOutputFormatClass(cls);<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    // Based on the configured map output class, set the correct reducer to properly<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    // sort the incoming values.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    // TODO it would be nice to pick one or the other of these formats.<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    if (KeyValue.class.equals(job.getMapOutputValueClass())) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    } else if (Put.class.equals(job.getMapOutputValueClass())) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      job.setReducerClass(PutSortReducer.class);<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    } else if (Text.class.equals(job.getMapOutputValueClass())) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      job.setReducerClass(TextSortReducer.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    } else {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      LOG.warn("Unknown map output value type:" + job.getMapOutputValueClass());<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    }<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    conf.setStrings("io.serializations", conf.get("io.serializations"),<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        MutationSerialization.class.getName(), ResultSerialization.class.getName(),<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        KeyValueSerialization.class.getName());<a name="line.532"></a>
-<span class="sourceLineNo">533</span><a name="line.533"></a>
-<span class="sourceLineNo">534</span>    if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      // record this table name for creating writer by favored nodes<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      LOG.info("bulkload locality sensitive enabled");<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      conf.set(OUTPUT_TABLE_NAME_CONF_KEY, regionLocator.getName().getNameAsString());<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>    // Use table's region boundaries for TOP split points.<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    LOG.info("Looking up current regions for table " + regionLocator.getName());<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    List&lt;ImmutableBytesWritable&gt; startKeys = getRegionStartKeys(regionLocator);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    LOG.info("Configuring " + startKeys.size() + " reduce partitions " +<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        "to match current region count");<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    job.setNumReduceTasks(startKeys.size());<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    configurePartitioner(job, startKeys);<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    // Set compression algorithms based on column families<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    configureCompression(conf, tableDescriptor);<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    configureBloomType(tableDescriptor, conf);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    configureBlockSize(tableDescriptor, conf);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    configureDataBlockEncoding(tableDescriptor, conf);<a name="line.552"></a>
-<span class="sourceLineNo">553</span><a name="line.553"></a>
-<span class="sourceLineNo">554</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    TableMapReduceUtil.initCredentials(job);<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    LOG.info("Incremental table " + regionLocator.getName() + " output configured.");<a name="line.556"></a>
-<span class="sourceLineNo">557</span>  }<a name="line.557"></a>
-<span class="sourceLineNo">558</span><a name="line.558"></a>
-<span class="sourceLineNo">559</span>  public static void configureIncrementalLoadMap(Job job, HTableDescriptor tableDescriptor) throws<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    Configuration conf = job.getConfiguration();<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>    job.setOutputKeyClass(ImmutableBytesWritable.class);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    job.setOutputValueClass(KeyValue.class);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    job.setOutputFormatClass(HFileOutputFormat2.class);<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    // Set compression algorithms based on column families<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    configureCompression(conf, tableDescriptor);<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    configureBloomType(tableDescriptor, conf);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    configureBlockSize(tableDescriptor, conf);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    configureDataBlockEncoding(tableDescriptor, conf);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    TableMapReduceUtil.initCredentials(job);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    LOG.info("Incremental table " + tableDescriptor.getTableName() + " output configured.");<a name="line.575"></a>
-<span class="sourceLineNo">576</span>  }<a name="line.576"></a>
-<span class="sourceLineNo">577</span><a name="line.577"></a>
-<span class="sourceLineNo">578</span>  /**<a name="line.578"></a>
-<span class="sourceLineNo">579</span>   * Runs inside the task to deserialize column family to compression algorithm<a name="line.579"></a>
-<span class="sourceLineNo">580</span>   * map from the configuration.<a name="line.580"></a>
-<span class="sourceLineNo">581</span>   *<a name="line.581"></a>
-<span class="sourceLineNo">582</span>   * @param conf to read the serialized values from<a name="line.582"></a>
-<span class="sourceLineNo">583</span>   * @return a map from column family to the configured compression algorithm<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   */<a name="line.584"></a>
-<span class="sourceLineNo">585</span>  @VisibleForTesting<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  static Map&lt;byte[], Algorithm&gt; createFamilyCompressionMap(Configuration<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      conf) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    Map&lt;byte[], String&gt; stringMap = createFamilyConfValueMap(conf,<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        COMPRESSION_FAMILIES_CONF_KEY);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    Map&lt;byte[], Algorithm&gt; compressionMap = new TreeMap&lt;byte[],<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        Algorithm&gt;(Bytes.BYTES_COMPARATOR);<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    for (Map.Entry&lt;byte[], String&gt; e : stringMap.entrySet()) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      Algorithm algorithm = HFileWriterImpl.compressionByName(e.getValue());<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      compressionMap.put(e.getKey(), algorithm);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return compressionMap;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Runs inside the task to deserialize column family to bloom filter type<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   * map from the configuration.<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   *<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * @param conf to read the serialized values from<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * @return a map from column family to the the configured bloom filter type<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   */<a name="line.605"></a>
-<span class="sourceLineNo">606</span>  @VisibleForTesting<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  static Map&lt;byte[], BloomType&gt; createFamilyBloomTypeMap(Configuration conf) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    Map&lt;byte[], String&gt; stringMap = createFamilyConfValueMap(conf,<a name="line.608"></a>
-<span class="sourceLineNo">609</span>        BLOOM_TYPE_FAMILIES_CONF_KEY);<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    Map&lt;byte[], BloomType&gt; bloomTypeMap = new TreeMap&lt;byte[],<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        BloomType&gt;(Bytes.BYTES_COMPARATOR);<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    for (Map.Entry&lt;byte[], String&gt; e : stringMap.entrySet()) {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      BloomType bloomType = BloomType.valueOf(e.getValue());<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      bloomTypeMap.put(e.getKey(), bloomType);<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span>    return bloomTypeMap;<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>  /**<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * Runs inside the task to deserialize column family to block size<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * map from the configuration.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   *<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   * @param conf to read the serialized values from<a name="line.623"></a>
-<span class="sourceLineNo">624</span>   * @return a map from column family to the configured block size<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   */<a name="line.625"></a>
-<span class="sourceLineNo">626</span>  @VisibleForTesting<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  static Map&lt;byte[], Integer&gt; createFamilyBlockSizeMap(Configuration conf) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    Map&lt;byte[], String&gt; stringMap = createFamilyConfValueMap(conf,<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        BLOCK_SIZE_FAMILIES_CONF_KEY);<a name="line.629"></a>
-<span class="sourceLineNo">630</span>    Map&lt;byte[], Integer&gt; blockSizeMap = new TreeMap&lt;byte[],<a name="line.630"></a>
-<span class="sourceLineNo">631</span>        Integer&gt;(Bytes.BYTES_COMPARATOR);<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    for (Map.Entry&lt;byte[], String&gt; e : stringMap.entrySet()) {<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      Integer blockSize = Integer.parseInt(e.getValue());<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      blockSizeMap.put(e.getKey(), blockSize);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    return blockSizeMap;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>  }<a name="line.637"></a>
-<span class="sourceLineNo">638</span><a name="line.638"></a>
-<span class="sourceLineNo">639</span>  /**<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * Runs inside the task to deserialize column family to data block encoding<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * type map from the configuration.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   *<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param conf to read the serialized values from<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @return a map from column family to HFileDataBlockEncoder for the<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   *         configured data block type for the family<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  @VisibleForTesting<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  static Map&lt;byte[], DataBlockEncoding&gt; createFamilyDataBlockEncodingMap(<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      Configuration conf) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Map&lt;byte[], String&gt; stringMap = createFamilyConfValueMap(conf,<a name="line.650"></a>
-<span class="sourceLineNo">651</span>        DATABLOCK_ENCODING_FAMILIES_CONF_KEY);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    Map&lt;byte[], DataBlockEncoding&gt; encoderMap = new TreeMap&lt;byte[],<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        DataBlockEncoding&gt;(Bytes.BYTES_COMPARATOR);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    for (Map.Entry&lt;byte[], String&gt; e : stringMap.entrySet()) {<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      encoderMap.put(e.getKey(), DataBlockEncoding.valueOf((e.getValue())));<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    return encoderMap;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>  }<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span><a name="line.660"></a>
-<span class="sourceLineNo">661</span>  /**<a name="line.661"></a>
-<span class="sourceLineNo">662</span>   * Run inside the task to deserialize column family to given conf value map.<a name="line.662"></a>
-<span class="sourceLineNo">663</span>   *<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   * @param conf to read the serialized values from<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   * @param confName conf key to read from the configuration<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   * @return a map of column family to the given configuration value<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   */<a name="line.667"></a>
-<span class="sourceLineNo">668</span>  private static Map&lt;byte[], String&gt; createFamilyConfValueMap(<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      Configuration conf, String confName) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    Map&lt;byte[], String&gt; confValMap = new TreeMap&lt;byte[], String&gt;(Bytes.BYTES_COMPARATOR);<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    String confVal = conf.get(confName, "");<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    for (String familyConf : confVal.split("&amp;")) {<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      String[] familySplit = familyConf.split("=");<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      if (familySplit.length != 2) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        continue;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      }<a name="line.676"></a>
-<span class="sourceLineNo">677</span>      try {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>        confValMap.put(URLDecoder.decode(familySplit[0], "UTF-8").getBytes(),<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            URLDecoder.decode(familySplit[1], "UTF-8"));<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      } catch (UnsupportedEncodingException e) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        // will not happen with UTF-8 encoding<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        throw new AssertionError(e);<a name="line.682"></a>
-<span class="sourceLineNo">683</span>      }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    }<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    return confValMap;<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>  /**<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * Configure &lt;code&gt;job&lt;/code&gt; with a TotalOrderPartitioner, partitioning against<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * &lt;code&gt;splitPoints&lt;/code&gt;. Cleans up the partitions file after job exists.<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   */<a name="line.691"></a>
-<span class="sourceLineNo">692</span>  static void configurePartitioner(Job job, List&lt;ImmutableBytesWritable&gt; splitPoints)<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      throws IOException {<a name="line.693"></a>
-<span class="sourceLineNo">694</span>    Configuration conf = job.getConfiguration();<a name="line.694"></a>
-<span class="sourceLineNo">695</span>    // create the partitions file<a name="line.695"></a>
-<span class="sourceLineNo">696</span>    FileSystem fs = FileSystem.get(conf);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    String hbaseTmpFsDir =<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        conf.get(HConstants.TEMPORARY_FS_DIRECTORY_KEY,<a name="line.698"></a>
-<span class="sourceLineNo">699</span>          HConstants.DEFAULT_TEMPORARY_HDFS_DIRECTORY);<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    Path partitionsPath = new Path(hbaseTmpFsDir, "partitions_" + UUID.randomUUID());<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    fs.makeQualified(partitionsPath);<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    writePartitions(conf, partitionsPath, splitPoints);<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    fs.deleteOnExit(partitionsPath);<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    // configure job to use it<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    job.setPartitionerClass(TotalOrderPartitioner.class);<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    TotalOrderPartitioner.setPartitionFile(conf, partitionsPath);<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>  /**<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   * Serialize column family to compression algorithm map to configuration.<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * Invoked while configuring the MR job for incremental load.<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   *<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * @param tableDescriptor to read the properties from<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * @param conf to persist serialized values into<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * @throws IOException<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   *           on failure to read column family descriptors<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   */<a name="line.718"></a>
-<span class="sourceLineNo">719</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      value="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  @VisibleForTesting<a name="line.721"></a>
-<span class="sourceLineNo">722</span>  static void configureCompression(Configuration conf, HTableDescriptor tableDescriptor)<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      throws UnsupportedEncodingException {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    StringBuilder compressionConfigValue = new StringBuilder();<a name="line.724"></a>
-<span class="sourceLineNo">725</span>    if(tableDescriptor == null){<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      // could happen with mock table instance<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      return;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    }<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    Collection&lt;HColumnDescriptor&gt; families = tableDescriptor.getFamilies();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    int i = 0;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    for (HColumnDescriptor familyDescriptor : families) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>      if (i++ &gt; 0) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>        compressionConfigValue.append('&amp;');<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      compressionConfigValue.append(URLEncoder.encode(<a name="line.735"></a>
-<span class="sourceLineNo">736</span>        familyDescriptor.getNameAsString(), "UTF-8"));<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      compressionConfigValue.append('=');<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      compressionConfigValue.append(URLEncoder.encode(<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        familyDescriptor.getCompressionType().getName(), "UTF-8"));<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    }<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    // Get rid of the last ampersand<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    conf.set(COMPRESSION_FAMILIES_CONF_KEY, compressionConfigValue.toString());<a name="line.742"></a>
-<span class="sourceLineNo">743</span>  }<a name="line.743"></a>
-<span class="sourceLineNo">744</span><a name="line.744"></a>
-<span class="sourceLineNo">745</span>  /**<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * Serialize column family to block size map to configuration.<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   * Invoked while configuring the MR job for incremental load.<a name="line.747"></a>
-<span class="sourceLineNo">748</span>   * @param tableDescriptor to read the properties from<a name="line.748"></a>
-<span class="sourceLineNo">749</span>   * @param conf to persist serialized values into<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   *<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * @throws IOException<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   *           on failure to read column family descriptors<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   */<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  @VisibleForTesting<a name="line.754"></a>
-<span class="sourceLineNo">755</span>  static void configureBlockSize(HTableDescriptor tableDescriptor, Configuration conf)<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      throws UnsupportedEncodingException {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>    StringBuilder blockSizeConfigValue = new StringBuilder();<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    if (tableDescriptor == null) {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      // could happen with mock table instance<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      return;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>    }<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    Collection&lt;HColumnDescriptor&gt; families = tableDescriptor.getFamilies();<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    int i = 0;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    for (HColumnDescriptor familyDescriptor : families) {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      if (i++ &gt; 0) {<a name="line.765"></a>
-<span class="sourceLineNo">766</span>        blockSizeConfigValue.append('&amp;');<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      }<a name="line.767"></a>
-<span class="sourceLineNo">768</span>      blockSizeConfigValue.append(URLEncoder.encode(<a name="line.768"></a>
-<span class="sourceLineNo">769</span>          familyDescriptor.getNameAsString(), "UTF-8"));<a name="line.769"></a>
-<span class="sourceLineNo">770</span>      blockSizeConfigValue.append('=');<a name="line.770"></a>
-<span class="sourceLineNo">771</span>      blockSizeConfigValue.append(URLEncoder.encode(<a name="line.771"></a>
-<span class="sourceLineNo">772</span>          String.valueOf(familyDescriptor.getBlocksize()), "UTF-8"));<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    }<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    // Get rid of the last ampersand<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    conf.set(BLOCK_SIZE_FAMILIES_CONF_KEY, blockSizeConfigValue.toString());<a name="line.775"></a>
-<span class="sourceLineNo">776</span>  }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   * Serialize column family to bloom type map to configuration.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>   * Invoked while configuring the MR job for incremental load.<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   * @param tableDescriptor to read the properties from<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * @param conf to persist serialized values into<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   *<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * @throws IOException<a name="line.784"></a>
-<span class="sourceLineNo">785</span>   *           on failure to read column family descriptors<a name="line.785"></a>
-<span class="sourceLineNo">786</span>   */<a name="line.786"></a>
-<span class="sourceLineNo">787</span>  @VisibleForTesting<a name="line.787"></a>
-<span class="sourceLineNo">788</span>  static void configureBloomType(HTableDescriptor tableDescriptor, Configuration conf)<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      throws UnsupportedEncodingException {<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    if (tableDescriptor == null) {<a name="line.790"></a>
-<span class="sourceLineNo">791</span>      // could happen with mock table instance<a name="line.791"></a>
-<span class="sourceLineNo">792</span>      return;<a name="line.792"></a>
-<span class="sourceLineNo">793</span>    }<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    StringBuilder bloomTypeConfigValue = new StringBuilder();<a name="line.794"></a>
-<span class="sourceLineNo">795</span>    Collection&lt;HColumnDescriptor&gt; families = tableDescriptor.getFamilies();<a name="line.795"></a>
-<span class="sourceLineNo">796</span>    int i = 0;<a name="line.796"></a>
-<span class="sourceLineNo">797</span>    for (HColumnDescriptor familyDescriptor : families) {<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      if (i++ &gt; 0) {<a name="line.798"></a>
-<span class="sourceLineNo">799</span>        bloomTypeConfigValue.append('&amp;');<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      }<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      bloomTypeConfigValue.append(URLEncoder.encode(<a name="line.801"></a>
-<span class="sourceLineNo">802</span>        familyDescriptor.getNameAsString(), "UTF-8"));<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      bloomTypeConfigValue.append('=');<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      String bloomType = familyDescriptor.getBloomFilterType().toString();<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      if (bloomType == null) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        bloomType = HColumnDescriptor.DEFAULT_BLOOMFILTER;<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      }<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      bloomTypeConfigValue.append(URLEncoder.encode(bloomType, "UTF-8"));<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    conf.set(BLOOM_TYPE_FAMILIES_CONF_KEY, bloomTypeConfigValue.toString());<a name="line.810"></a>
-<span class="sourceLineNo">811</span>  }<a name="line.811"></a>
-<span class="sourceLineNo">812</span><a name="line.812"></a>
-<span class="sourceLineNo">813</span>  /**<a name="line.813"></a>
-<span class="sourceLineNo">814</span>   * Serialize column family to data block encoding map to configuration.<a name="line.814"></a>
-<span class="sourceLineNo">815</span>   * Invoked while configuring the MR job for incremental load.<a name="line.815"></a>
-<span class="sourceLineNo">816</span>   *<a name="line.816"></a>
-<span class="sourceLineNo">817</span>   * @param tableDescriptor to read the properties from<a name="line.817"></a>
-<span class="sourceLineNo">818</span>   * @param conf to persist serialized values into<a name="line.818"></a>
-<span class="sourceLineNo">819</span>   * @throws IOException<a name="line.819"></a>
-<span class="sourceLineNo">820</span>   *           on failure to read column family descriptors<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   */<a name="line.821"></a>
-<span class="sourceLineNo">822</span>  @VisibleForTesting<a name="line.822"></a>
-<span class="sourceLineNo">823</span>  static void configureDataBlockEncoding(HTableDescriptor tableDescriptor,<a name="line.823"></a>
-<span class="sourceLineNo">824</span>      Configuration conf) throws UnsupportedEncodingException {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>    if (tableDescriptor == null) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      // could happen with mock table instance<a name="line.826"></a>
-<span class="sourceLineNo">827</span>      return;<a name="line.827"></a>
-<span class="sourceLineNo">828</span>    }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    StringBuilder dataBlockEncodingConfigValue = new StringBuilder();<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    Collection&lt;HColumnDescriptor&gt; families = tableDescriptor.getFamilies();<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    int i = 0;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    for (HColumnDescriptor familyDescriptor : families) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      if (i++ &gt; 0) {<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        dataBlockEncodingConfigValue.append('&amp;');<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      dataBlockEncodingConfigValue.append(<a name="line.836"></a>
-<span class="sourceLineNo">837</span>          URLEncoder.encode(familyDescriptor.getNameAsString(), "UTF-8"));<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      dataBlockEncodingConfigValue.append('=');<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      DataBlockEncoding encoding = familyDescriptor.getDataBlockEncoding();<a name="line.839"></a>
-<span class="sourceLineNo">840</span>      if (encoding == null) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>        encoding = DataBlockEncoding.NONE;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>      }<a name="line.842"></a>
-<span class="sourceLineNo">843</span>      dataBlockEncodingConfigValue.append(URLEncoder.encode(encoding.toString(),<a name="line.843"></a>
-<span class="sourceLineNo">844</span>          "UTF-8"));<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    }<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    conf.set(DATABLOCK_ENCODING_FAMILIES_CONF_KEY,<a name="line.846"></a>
-<span class="sourceLineNo">847</span>        dataBlockEncodingConfigValue.toString());<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">421</span>    ArrayList&lt;ImmutableBytesWritable&gt; ret = new ArrayList&lt;&gt;(byteKeys.length);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    for (byte[] byteKey : byteKeys) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      ret.add(new ImmutableBytesWritable(byteKey));<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    }<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    return ret;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  }<a name="line.426"></a>
+<span class="sourceLineNo">427</span><a name="line.427"></a>
+<span class="sourceLineNo">428</span>  /**<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   * Write out a {@link SequenceFile} that can be read by<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * {@link TotalOrderPartitioner} that contains the split points in startKeys.<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  @SuppressWarnings("deprecation")<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  private static void writePartitions(Configuration conf, Path partitionsPath,<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      List&lt;ImmutableBytesWritable&gt; startKeys) throws IOException {<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    LOG.info("Writing partition information to " + partitionsPath);<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    if (startKeys.isEmpty()) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      throw new IllegalArgumentException("No regions passed");<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
+<span class="sourceLineNo">439</span><a name="line.439"></a>
+<span class="sourceLineNo">440</span>    // We're generating a list of split points, and we don't ever<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    // have keys &lt; the first region (which has an empty start key)<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    // so we need to remove it. Otherwise we would end up with an<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    // empty reducer with index 0<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    TreeSet&lt;ImmutableBytesWritable&gt; sorted = new TreeSet&lt;&gt;(startKeys);<a name="line.444"></a>
+<span class="sourceLineNo">445</span><a name="line.445"></a>
+<span class="sourceLineNo">446</span>    ImmutableBytesWritable first = sorted.first();<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    if (!first.equals(HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      throw new IllegalArgumentException(<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          "First region of table should have empty start key. Instead has: "<a name="line.449"></a>
+<span class="sourceLineNo">450</span>          + Bytes.toStringBinary(first.get()));<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    sorted.remove(first);<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>    // Write the actual file<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    FileSystem fs = partitionsPath.getFileSystem(conf);<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    SequenceFile.Writer writer = SequenceFile.createWriter(<a name="line.456"></a>
+<span class="sourceLineNo">457</span>      fs, conf, partitionsPath, ImmutableBytesWritable.class,<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      NullWritable.class);<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>    try {<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      for (ImmutableBytesWritable startKey : sorted) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>        writer.append(startKey, NullWritable.get());<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      }<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    } finally {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      writer.close();<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    }<a name="line.466"></a>
+<span class="sourceLineNo">467</span>  }<a name="line.467"></a>
+<span class="sourceLineNo">468</span><a name="line.468"></a>
+<span class="sourceLineNo">469</span>  /**<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   * Configure a MapReduce Job to perform an incremental load into the given<a name="line.470"></a>
+<span class="sourceLineNo">471</span>   * table. This<a name="line.471"></a>
+<span class="sourceLineNo">472</span>   * &lt;ul&gt;<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   *   &lt;li&gt;Inspects the table to configure a total order partitioner&lt;/li&gt;<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   *   &lt;li&gt;Uploads the partitions file to the cluster and adds it to the DistributedCache&lt;/li&gt;<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   *   &lt;li&gt;Sets the number of reduce tasks to match the current number of regions&lt;/li&gt;<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   *   &lt;li&gt;Sets the output key/value class to match HFileOutputFormat2's requirements&lt;/li&gt;<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   *   &lt;li&gt;Sets the reducer up to perform the appropriate sorting (either KeyValueSortReducer or<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   *     PutSortReducer)&lt;/li&gt;<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   * &lt;/ul&gt;<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * The user should be sure to set the map output value class to either KeyValue or Put before<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * running this function.<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
+<span class="sourceLineNo">483</span>  public static void configureIncrementalLoad(Job job, Table table, RegionLocator regionLocator)<a name="line.483"></a>
+<span class="sourceLineNo">484</span>      throws IOException {<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<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">489</span>   * Configure a MapReduce Job to perform an incremental load into the given<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * table. This<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * &lt;ul&gt;<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   *   &lt;li&gt;Inspects the table to configure a total order partitioner&lt;/li&gt;<a name="line.492"></a>
+<span class="sourceLineNo">493</span>   *   &lt;li&gt;Uploads the partitions file to the cluster and adds it to the DistributedCache&lt;/li&gt;<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   *   &lt;li&gt;Sets the number of reduce tasks to match the current number of regions&lt;/li&gt;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   *   &lt;li&gt;Sets the output key/value class to match HFileOutputFormat2's requirements&lt;/li&gt;<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   *   &lt;li&gt;Sets the reducer up to perform the appropriate sorting (either KeyValueSortReducer or<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   *     PutSortReducer)&lt;/li&gt;<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * &lt;/ul&gt;<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * The user should be sure to set the map output value class to either KeyValue or Put before<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * running this function.<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   */<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  public static void configureIncrementalLoad(Job job, HTableDescriptor tableDescriptor,<a name="line.502"></a>
+<span class="sourceLineNo">503</span>      RegionLocator regionLocator) throws IOException {<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    configureIncrementalLoad(job, tableDescriptor, regionLocator, HFileOutputFormat2.class);<a name="line.504"></a>
+<span class="sourceLineNo">505</span>  }<a name="line.505"></a>
+<span class="sourceLineNo">506</span><a name="line.506"></a>
+<span class="sourceLineNo">507</span>  static void configureIncrementalLoad(Job job, HTableDescriptor tableDescriptor,<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      RegionLocator regionLocator, Class&lt;? extends OutputFormat&lt;?, ?&gt;&gt; cls) throws IOException,<a name="line.508"></a>
+<span class="sourceLineNo">509</span>      UnsupportedEncodingException {<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    Configuration conf = job.getConfiguration();<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    job.setOutputKeyClass(ImmutableBytesWritable.class);<a name="line.511"></a>
+<span class="sourceLineNo">512</span>    job.setOutputValueClass(KeyValue.class);<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    job.setOutputFormatClass(cls);<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    // Based on the configured map output class, set the correct reducer to properly<a name="line.515"></a>
+<span class="sourceLineNo">516</span>    // sort the incoming values.<a name="line.516"></a>
+<span class="sourceLineNo">517</span>    // TODO it would be nice to pick one or the other of these formats.<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    if (KeyValue.class.equals(job.getMapOutputValueClass())) {<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    } else if (Put.class.equals(job.getMapOutputValueClass())) {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>      job.setReducerClass(PutSortReducer.class);<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    } else if (Text.class.equals(job.getMapOutputValueClass())) {<a name="line.522"></a>
+<span class="sourceLineNo">523</span>      job.setReducerClass(TextSortReducer.class);<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    } else {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      LOG.warn("Unknown map output value type:" + job.getMapOutputValueClass());<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>    conf.setStrings("io.serializations", conf.get("io.serializations"),<a name="line.528"></a>
+<span class="sourceLineNo">529</span>        MutationSerialization.class.getName(), ResultSerialization.class.getName(),<a name="line.529"></a>
+<span class="sourceLineNo">530</span>        KeyValueSerialization.class.getName());<a name="line.530"></a>
+<span class="sourceLineNo">531</span><a name="line.531"></a>
+<span class="sourceLineNo">532</span>    if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>      // record this table name for creating writer by favored nodes<a name="line.533"></a>
+<span class="sourceLineNo">534</span>      LOG.info("bulkload locality sensitive enabled");<a name="line.534"></a>
+<span class="sourceLineNo">535</span>      conf.set(OUTPUT_TABLE_NAME_CONF_KEY, regionLocator.getName().getNameAsString());<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    }<a name="line.536"></a>
+<span class="sourceLineNo">537</span><a name="line.537"></a>
+<span class="sourceLineNo">538</span>    // Use table's region boundaries for TOP split points.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    LOG.info("Looking up current regions for table " + regionLocator.getName());<a name="line.539"></a>
+<span class="sourceLineNo">540</span>    List&lt;ImmutableBytesWritable&gt; startKeys = getRegionStartKeys(regionLocator);<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    LOG.info("Configuring " + startKeys.size() + " reduce partitions " +<a name="line.541"></a>
+<span class="sourceLineNo">542</span>        "to match current region count");<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    job.setNumReduceTasks(startKeys.size());<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span>    configurePartitioner(job, startKeys);<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    // Set compression algorithms based on column families<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    configureCompression(conf, tableDescriptor);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    configureBloomType(tableDescriptor, conf);<a name="line.548"></a>
+<span class="sourceLineNo">549</span>    configureBlockSize(tableDescriptor, conf);<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    configureDataBlockEncoding(tableDescriptor, conf);<a name="line.550"></a>
+<span class="sourceLineNo">551</span><a name="line.551"></a>
+<span class="sourceLineNo">552</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    TableMapReduceUtil.initCredentials(job);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    LOG.info("Incremental table " + regionLocator.getName() + " output configured.");<a name="line.554"></a>
+<span class="sourceLineNo">555</span>  }<a name="line.555"></a>
+<span class="sourceLineNo">556</span><a name="line.556"></a>
+<span class="sourceLineNo">557</span>  public static void configureIncrementalLoadMap(Job job, HTableDescriptor tableDescriptor) throws<a name="line.557"></a>
+<span class="sourceLineNo">558</span>      IOException {<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    Configuration conf = job.getConfiguration();<a name="line.559"></a>
+<span class="sourceLineNo">560</span><a name="line.560"></a>
+<span class="sourceLineNo">561</span>    job.setOutputKeyClass(ImmutableBytesWritable.class);<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    job.setOutputValueClass(KeyValue.class);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    job.setOutputFormatClass(HFileOutputFormat2.class);<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span>    // Set compression algorithms based on column families<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    configureCompression(conf, tableDescriptor);<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    configureBloomType(tableDescriptor, conf);<a name="line.567"></a>
+<span class="sourceLineNo">568</span>    configureBlockSize(tableDescriptor, conf);<a name="line.568"></a>
+<span class="sourceLineNo">569</span>    configureDataBlockEncoding(tableDescriptor, conf);<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.571"></a>
+<span class="sourceLineNo">572</span>    TableMapReduceUtil.initCredentials(job);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>    LOG.info("Incremental table " + tableDescriptor.getTableName() + " output configured.");<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>   * Runs inside the task to deserialize column family to compression algorithm<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * map from the configuration.<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   *<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   * @param conf to read the serialized values from<a name="line.580"></a>
+<span class="sourceLineNo">581</span>   * @return a map from column family to the configured compression algorithm<a name="line.581"></a>
+<span class="sourceLineNo">582</span>   */<a name="line.582"></a>
+<span class="sourceLineNo">583</span>  @VisibleForTesting<a name="line.583"></a>
+<span class="sourceLineNo">584</span>  static Map&lt;byte[], Algorithm&gt; createFamilyCompressionMap(Configuration<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      conf) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    Map&lt;byte[], String&gt; stringMap = createFamilyConfValueMap(conf,<a name="line.586"></a>
+<span class="sourceLineNo">587</span>        COMPRESSION_FAMILIES_CONF_KEY);<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    Map&lt;byte[], Algorithm&gt; compressionMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.588"></a>
+<span class="sourceLineNo">589</span>    for (Map.Entry&lt;byte[], String&gt; e : stringMap.entrySet()) {<a name="line.589"></a>
+<span class="sourceLineNo">590</span>      Algorithm algorithm = HFileWriterImpl.compressionByName(e.getValue());<a name="line.590"></a>
+<span class="sourceLineNo">591</span>      compressionMap.put(e.getKey(), algorithm);<a name="line.591"></a>
+<span class="sourceLineNo">592</span>    }<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    return compressionMap;<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>   * Runs inside the task to deserialize column family to bloom filter type<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * map from the configuration.<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   *<a name="line.599"></a>
+<span class="sourceLineNo">600</span>   * @param conf to read the serialized values from<a name="line.600"></a>
+<span class="sourceLineNo">601</span>   * @return a map from column family to the the configured bloom filter type<a name="line.601"></a>
+<span class="sourceLineNo">602</span>   */<a name="line.602"></a>
+<span class="sourceLineNo">603</span>  @VisibleForTesting<a name="line.603"></a>
+<span class="sourceLineNo">604</span>  static Map&lt;byte[], BloomType&gt; createFamilyBloomTypeMap(Configuration conf) {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    Map&lt;byte[], String&gt; stringMap = createFamilyConfValueMap(conf,<a name="line.605"></a>
+<span class="sourceLineNo">606</span>        BLOOM_TYPE_FAMILIES_CONF_KEY);<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    Map&lt;byte[], BloomType&gt; bloomTypeMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>    for (Map.Entry&lt;byte[], String&gt; e : stringMap.entrySet()) {<a name="line.608"></a>
+<span class="sourceLineNo">609</span>      BloomType bloomType = BloomType.valueOf(e.getValue());<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      bloomTypeMap.put(e.getKey(), bloomType);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>    }<a name="line.611"></a>
+<span class="sourceLineNo">612</span>    return bloomTypeMap;<a name="line.612"></a>
+<span class="sourceLineNo">613</span>  }<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>   * Runs inside the task to deserialize column family to block size<a name="line.616"></a>
+<span class="sourceLineNo">617</span>   * map from the configuration.<a name="line.617"></a>
+<span class="sourceLineNo">618</span>   *<a name="line.618"></a>
+<span class="sourceLineNo">619</span>   * @param conf to read the serialized values from<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   * @return a map from column family to the configured block size<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   */<a name="line.621"></a>
+<span class="sourceLineNo">622</span>  @VisibleForTesting<a name="line.622"></a>
+<span class="sourceLineNo">623</span>  static Map&lt;byte[], Integer&gt; createFamilyBlockSizeMap(Configuration conf) {<a name="line.623"></a>
+<span class="sourceLineNo">624</span>    Map&lt;byte[], String&gt; stringMap = createFamilyConfValueMap(conf,<a name="line.624"></a>
+<span class="sourceLineNo">625</span>        BLOCK_SIZE_FAMILIES_CONF_KEY);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>    Map&lt;byte[], Integer&gt; blockSizeMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    for (Map.Entry&lt;byte[], String&gt; e : stringMap.entrySet()) {<a name="line.627"></a>
+<span class="sourceLineNo">628</span>      Integer blockSize = Integer.parseInt(e.getValue());<a name="line.628"></a>
+<span class="sourceLineNo">629</span>      blockSizeMap.put(e.getKey(), blockSize);<a name="line.629"></a>
+<span class="sourceLineNo">630</span>    }<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    return blockSizeMap;<a name="line.631"></a>
+<span class="sourceLineNo">632</span>  }<a name="line.632"></a>
+<span class="sourceLineNo">633</span><a name="line.633"></a>
+<span class="sourceLineNo">634</span>  /**<a name="line.634"></a>
+<span class="sourceLineNo">635</span>   * Runs inside the task to deserialize column family to data block encoding<a name="line.635"></a>
+<span class="sourceLineNo">636</span>   * type map from the configuration.<a name="line.636"></a>
+<span class="sourceLineNo">637</span>   *<a name="line.637"></a>
+<span class="sourceLineNo">638</span>   * @param conf to read the serialized values from<a name="line.638"></a>
+<span class="sourceLineNo">639</span>   * @return a map from column family to HFileDataBlockEncoder for the<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   *         configured data block type for the family<a name="line.640"></a>
+<span class="sourceLineNo">641</span>   */<a name="line.641"></a>
+<span class="sourceLineNo">642</span>  @VisibleForTesting<a name="line.642"></a>
+<span class="sourceLineNo">643</span>  static Map&lt;byte[], DataBlockEncoding&gt; createFamilyDataBlockEncodingMap(<a name="line.643"></a>
+<span class="sourceLineNo">644</span>      Configuration conf) {<a name="line.644"></a>
+<span class="sourceLineNo">645</span>    Map&lt;byte[], String&gt; stringMap = createFamilyConfValueMap(conf,<a name="line.645"></a>
+<span class="sourceLineNo">646</span>        DATABLOCK_ENCODING_FAMILIES_CONF_KEY);<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    Map&lt;byte[], DataBlockEncoding&gt; encoderMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.647"></a>
+<span class="sourceLineNo">648</span>    for (Map.Entry&lt;byte[], String&gt; e : stringMap.entrySet()) {<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      encoderMap.put(e.getKey(), DataBlockEncoding.valueOf((e.getValue())));<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    }<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    return encoderMap;<a name="line.651"></a>
+<span class="sourceLineNo">652</span>  }<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>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * Run inside the task to deserialize column family to given conf value map.<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   *<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   * @param conf to read the serialized values from<a name="line.658"></a>
+<span class="sourceLineNo">659</span>   * @param confName conf key to read from the configuration<a name="line.659"></a>
+<span class="sourceLineNo">660</span>   * @return a map of column family to the given configuration value<a name="line.660"></a>
+<span class="sourceLineNo">661</span>   */<a name="line.661"></a>
+<span class="sourceLineNo">662</span>  private static Map&lt;byte[], String&gt; createFamilyConfValueMap(<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      Configuration conf, String confName) {<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    Map&lt;byte[], String&gt; confValMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    String confVal = conf.get(confName, "");<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    for (String familyConf : confVal.split("&amp;")) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      String[] familySplit = familyConf.split("=");<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      if (familySplit.length != 2) {<a name="line.668"></a>
+<span class="sourceLineNo">669</span>        continue;<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      }<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      try {<a name="line.671"></a>
+<span class="sourceLineNo">672</span>        confValMap.put(URLDecoder.decode(familySplit[0], "UTF-8").getBytes(),<a name="line.672"></a>
+<span class="sourceLineNo">673</span>            URLDecoder.decode(familySplit[1], "UTF-8"));<a name="line.673"></a>
+<span class="sourceLineNo">674</span>      } catch (UnsupportedEncodingException e) {<a name="line.674"></a>
+<span class="sourceLineNo">675</span>        // will not happen with UTF-8 encoding<a name="line.675"></a>
+<span class="sourceLineNo">676</span>        throw new AssertionError(e);<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      }<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    }<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    return confValMap;<a name="line.679"></a>
+<span class="sourceLineNo">680</span>  }<a name="line.680"></a>
+<span class="sourceLineNo">681</span><a name="line.681"></a>
+<span class="sourceLineNo">682</span>  /**<a name="line.682"></a>
+<span class="sourceLineNo">683</span>   * Configure &lt;code&gt;job&lt;/code&gt; with a TotalOrderPartitioner, partitioning against<a name="line.683"></a>
+<span class="sourceLineNo">684</span>   * &lt;code&gt;splitPoints&lt;/code&gt;. Cleans up the partitions file after job exists.<a name="line.684"></a>
+<span class="sourceLineNo">685</span>   */<a name="line.685"></a>
+<span class="sourceLineNo">686</span>  static void configurePartitioner(Job job, List&lt;ImmutableBytesWritable&gt; splitPoints)<a name="line.686"></a>
+<span class="sourceLineNo">687</span>      throws IOException {<a name="line.687"></a>
+<span class="sourceLineNo">688</span>    Configuration conf = job.getConfiguration();<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    // create the partitions file<a name="line.689"></a>
+<span class="sourceLineNo">690</span>    FileSystem fs = FileSystem.get(conf);<a name="line.690"></a>
+<span class="sourceLineNo">691</span>    String hbaseTmpFsDir =<a name="line.691"></a>
+<span class="sourceLineNo">692</span>        conf.get(HConstants.TEMPORARY_FS_DIRECTORY_KEY,<a name="line.692"></a>
+<span class="sourceLineNo">693</span>          HConstants.DEFAULT_TEMPORARY_HDFS_DIRECTORY);<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    Path partitionsPath = new Path(hbaseTmpFsDir, "partitions_" + UUID.randomUUID());<a name="line.694"></a>
+<span class="sourceLineNo">695</span>    fs.makeQualified(partitionsPath);<a name="line.695"></a>
+<span class="sourceLineNo">696</span>    writePartitions(conf, partitionsPath, splitPoints);<a name="line.696"></a>
+<span class="sourceLineNo">697</span>    fs.deleteOnExit(partitionsPath);<a name="line.697"></a>
+<span class="sourceLineNo">698</span><a name="line.698"></a>
+<span class="sourceLineNo">699</span>    // configure job to use it<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    job.setPartitionerClass(TotalOrderPartitioner.class);<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    TotalOrderPartitioner.setPartitionFile(conf, partitionsPath);<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>   * Serialize column family to compression algorithm map to configuration.<a name="line.705"></a>
+<span class="sourceLineNo">706</span>   * Invoked while configuring the MR job for incremental load.<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   *<a name="line.707"></a>
+<span class="sourceLineNo">708</span>   * @param tableDescriptor to read the properties from<a name="line.708"></a>
+<span class="sourceLineNo">709</span>   * @param conf to persist serialized values into<a name="line.709"></a>
+<span class="sourceLineNo">710</span>   * @throws IOException<a name="line.710"></a>
+<span class="sourceLineNo">711</span>   *           on failure to read column family descriptors<a name="line.711"></a>
+<span class="sourceLineNo">712</span>   */<a name="line.712"></a>
+<span class="sourceLineNo">713</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      value="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")<a name="line.714"></a>
+<span class="sourceLineNo">715</span>  @VisibleForTesting<a name="line.715"></a>
+<span class="sourceLineNo">716</span>  static void configureCompression(Configuration conf, HTableDescriptor tableDescriptor)<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      throws UnsupportedEncodingException {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>    StringBuilder compressionConfigValue = new StringBuilder();<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    if(tableDescriptor == null){<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      // could happen with mock table instance<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      return;<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    Collection&lt;HColumnDescriptor&gt; families = tableDescriptor.getFamilies();<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    int i = 0;<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    for (HColumnDescriptor familyDescriptor : families) {<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      if (i++ &gt; 0) {<a name="line.726"></a>
+<span class="sourceLineNo">727</span>        compressionConfigValue.append('&amp;');<a name="line.727"></a>
+<span class="sourceLineNo">728</span>      }<a name="line.728"></a>
+<span class="sourceLineNo">729</span>      compressionConfigValue.append(URLEncoder.encode(<a name="line.729"></a>
+<span class="sourceLineNo">730</span>        familyDescriptor.getNameAsString(), "UTF-8"));<a name="line.730"></a>
+<span class="sourceLineNo">731</span>      compressionConfigValue.append('=');<a name="line.731"></a>
+<span class="sourceLineNo">732</span>      compressionConfigValue.append(URLEncoder.encode(<a name="line.732"></a>
+<span class="sourceLineNo">733</span>        familyDescriptor.getCompressionType().getName(), "UTF-8"));<a name="line.733"></a>
+<span class="sourceLineNo">734</span>    }<a name="line.734"></a>
+<span class="sourceLineNo">735</span>    // Get rid of the last ampersand<a name="line.735"></a>
+<span class="sourceLineNo">736</span>    conf.set(COMPRESSION_FAMILIES_CONF_KEY, compressionConfigValue.toString());<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>   * Serialize column family to block size map to configuration.<a name="line.740"></a>
+<span class="sourceLineNo">741</span>   * Invoked while configuring the MR job for incremental load.<a name="line.741"></a>
+<span class="sourceLineNo">742</span>   * @param tableDescriptor to read the properties from<a name="line.742"></a>
+<span class="sourceLineNo">743</span>   * @param conf to persist serialized values into<a name="line.743"></a>
+<span class="sourceLineNo">744</span>   *<a name="line.744"></a>
+<span class="sourceLineNo">745</span>   * @throws IOException<a name="line.745"></a>
+<span class="sourceLineNo">746</span>   *           on failure to read column family descriptors<a name="line.746"></a>
+<span class="sourceLineNo">747</span>   */<a name="line.747"></a>
+<span class="sourceLineNo">748</span>  @VisibleForTesting<a name="line.748"></a>
+<span class="sourceLineNo">749</span>  static void configureBlockSize(HTableDescriptor tableDescriptor, Configuration conf)<a name="line.749"></a>
+<span class="sourceLineNo">750</span>      throws UnsupportedEncodingException {<a name="line.750"></a>
+<span class="sourceLineNo">751</span>    StringBuilder blockSizeConfigValue = new StringBuilder();<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    if (tableDescriptor == null) {<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      // could happen with mock table instance<a name="line.753"></a>
+<span class="sourceLineNo">754</span>      return;<a name="line.754"></a>
+<span class="sourceLineNo">755</span>    }<a name="line.755"></a>
+<span class="sourceLineNo">756</span>    Collection&lt;HColumnDescriptor&gt; families = tableDescriptor.getFamilies();<a name="line.756"></a>
+<span class="sourceLineNo">757</span>    int i = 0;<a name="line.757"></a>
+<span class="sourceLineNo">758</span>    for (HColumnDescriptor familyDescriptor : families) {<a name="line.758"></a>
+<span class="sourceLineNo">759</span>      if (i++ &gt; 0) {<a name="line.759"></a>
+<span class="sourceLineNo">760</span>        blockSizeConfigValue.append('&amp;');<a name="line.760"></a>
+<span class="sourceLineNo">761</span>      }<a name="line.761"></a>
+<span class="sourceLineNo">762</span>      blockSizeConfigValue.append(URLEncoder.encode(<a name="line.762"></a>
+<span class="sourceLineNo">763</span>          familyDescriptor.getNameAsString(), "UTF-8"));<a name="line.763"></a>
+<span class="sourceLineNo">764</span>      blockSizeConfigValue.append('=');<a name="line.764"></a>
+<span class="sourceLineNo">765</span>      blockSizeConfigValue.append(URLEncoder.encode(<a name="line.765"></a>
+<span class="sourceLineNo">766</span>          String.valueOf(familyDescriptor.getBlocksize()), "UTF-8"));<a name="line.766"></a>
+<span class="sourceLineNo">767</span>    }<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    // Get rid of the last ampersand<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    conf.set(BLOCK_SIZE_FAMILIES_CONF_KEY, blockSizeConfigValue.toString());<a name="line.769"></a>
+<span class="sourceLineNo">770</span>  }<a name="line.770"></a>
+<span class="sourceLineNo">771</span><a name="line.771"></a>
+<span class="sourceLineNo">772</span>  /**<a name="line.772"></a>
+<span class="sourceLineNo">773</span>   * Serialize column family to bloom type map to configuration.<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   * Invoked while configuring the MR job for incremental load.<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   * @param tableDescriptor to read the properties from<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   * @param conf to persist serialized values into<a name="line.776"></a>
+<span class="sourceLineNo">777</span>   *<a name="line.777"></a>
+<span class="sourceLineNo">778</span>   * @throws IOException<a name="line.778"></a>
+<span class="sourceLineNo">779</span>   *           on failure to read column family descriptors<a name="line.779"></a>
+<span class="sourceLineNo">780</span>   */<a name="line.780"></a>
+<span class="sourceLineNo">781</span>  @VisibleForTesting<a name="line.781"></a>
+<span class="sourceLineNo">782</span>  static void configureBloomType(HTableDescriptor tableDescriptor, Configuration conf)<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      throws UnsupportedEncodingException {<a name="line.783"></a>
+<span class="sourceLineNo">784</span>    if (tableDescriptor == null) {<a name="line.784"></a>
+<span class="sourceLineNo">785</span>      // could happen with mock table instance<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      return;<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    }<a name="line.787"></a>
+<span class="sourceLineNo">788</span>    StringBuilder bloomTypeConfigValue = new StringBuilder();<a name="line.788"></a>
+<span class="sourceLineNo">789</span>    Collection&lt;HColumnDescriptor&gt; families = tableDescriptor.getFamilies();<a name="line.789"></a>
+<span class="sourceLineNo">790</span>    int i = 0;<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    for (HColumnDescriptor familyDescriptor : families) {<a name="line.791"></a>
+<span class="sourceLineNo">792</span>      if (i++ &gt; 0) {<a name="line.792"></a>
+<span class="sourceLineNo">793</span>        bloomTypeConfigValue.append('&amp;');<a name="line.793"></a>
+<span class="sourceLineNo">794</span>      }<a name="line.794"></a>
+<span class="sourceLineNo">795</span>      bloomTypeConfigValue.append(URLEncoder.encode(<a name="line.795"></a>
+<span class="sourceLineNo">796</span>        familyDescriptor.getNameAsString(), "UTF-8"));<a name="line.796"></a>
+<span class="sourceLineNo">797</span>      bloomTypeConfigValue.append('=');<a name="line.797"></a>
+<span class="sourceLineNo">798</span>      String bloomType = familyDescriptor.getBloomFilterType().toString();<a name="line.798"></a>
+<span class="sourceLineNo">799</span>      if (bloomType == null) {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>        bloomType = HColumnDescriptor.DEFAULT_BLOOMFILTER;<a name="line.800"></a>
+<span class="sourceLineNo">801</span>      }<a name="line.801"></a>
+<span class="sourceLineNo">802</span>      bloomTypeConfigValue.append(URLEncoder.encode(bloomType, "UTF-8"));<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    }<a name="line.803"></a>
+<span class="sourceLineNo">804</span>    conf.set(BLOOM_TYPE_FAMILIES_CONF_KEY, bloomTypeConfigValue.toString());<a name="line.804"></a>
+<span class="sourceLineNo">805</span>  }<a name="line.805"></a>
+<span class="sourceLineNo">806</span><a name="line.806"></a>
+<span class="sourceLineNo">807</span>  /**<a name="line.807"></a>
+<span class="sourceLineNo">808</span>   * Serialize column family to data block encoding map to configuration.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>   * Invoked while configuring the MR job for incremental load.<a name="line.809"></a>
+<span class="sourceLineNo">810</span>   *<a name="line.810"></a>
+<span class="sourceLineNo">811</span>   * @param tableDescriptor to read the properties from<a name="line.811"></a>
+<span class="sourceLineNo">812</span>   * @param conf to persist serialized values into<a name="line.812"></a>
+<span class="sourceLineNo">813</span>   * @throws IOException<a name="line.813"></a>
+<span class="sourceLineNo">814</span>   *           on failure to read column family descriptors<a name="line.814"></a>
+<span class="sourceLineNo">815</span>   */<a name="line.815"></a>
+<span class="sourceLineNo">816</span>  @VisibleForTesting<a name="line.816"></a>
+<span class="sourceLineNo">817</span>  static void configureDataBlockEncoding(HTableDescriptor tableDescriptor,<a name="line.817"></a>
+<span class="sourceLineNo">818</span>      Configuration conf) throws UnsupportedEncodingException {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>    if (tableDescriptor == null) {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>      // could happen with mock table instance<a name="line.820"></a>
+<span class="sourceLineNo">821</span>      return;<a name="line.821"></a>
+<span class="sourceLineNo">822</span>    }<a name="line.822"></a>
+<span class="sourceLineNo">823</span>    StringBuilder dataBlockEncodingConfigValue = new StringBuilder();<a name="line.823"></a>
+<span class="sourceLineNo">824</span>    Collection&lt;HColumnDescriptor&gt; families = tableDescriptor.getFamilies();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    int i = 0;<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    for (HColumnDescriptor familyDescriptor : families) {<a name="line.826"></a>
+<span class="sourceLineNo">827</span>      if (i++ &gt; 0) {<a name="line.827"></a>
+<span class="sourceLineNo">828</span>        dataBlockEncodingConfigValue.append('&amp;');<a name="line.828"></a>
+<span class="sourceLineNo">829</span>      }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      dataBlockEncodingConfigValue.append(<a name="line.830"></a>
+<span class="sourceLineNo">831</span>          URLEncoder.encode(familyDescriptor.getNameAsString(), "UTF-8"));<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      dataBlockEncodingConfigValue.append('=');<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      DataBlockEncoding encoding = familyDescriptor.getDataBlockEncoding();<a name="line.833"></a>
+<span class="sourceLineNo">834</span>      if (encoding == null) {<a name="line.834"></a>
+<span class="sourceLineNo">835</span>        encoding = DataBlockEncoding.NONE;<a name="line.835"></a>
+<span class="sourceLineNo">836</span>      }<a nam

<TRUNCATED>

[07/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
index 099a926..ca75198 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
@@ -459,7 +459,7 @@
 <span class="sourceLineNo">451</span>    job.setMapperClass(mapper);<a name="line.451"></a>
 <span class="sourceLineNo">452</span>    Configuration conf = job.getConfiguration();<a name="line.452"></a>
 <span class="sourceLineNo">453</span>    HBaseConfiguration.merge(conf, HBaseConfiguration.create(conf));<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    List&lt;String&gt; scanStrings = new ArrayList&lt;String&gt;();<a name="line.454"></a>
+<span class="sourceLineNo">454</span>    List&lt;String&gt; scanStrings = new ArrayList&lt;&gt;();<a name="line.454"></a>
 <span class="sourceLineNo">455</span><a name="line.455"></a>
 <span class="sourceLineNo">456</span>    for (Scan scan : scans) {<a name="line.456"></a>
 <span class="sourceLineNo">457</span>      scanStrings.add(convertScanToString(scan));<a name="line.457"></a>
@@ -815,7 +815,7 @@
 <span class="sourceLineNo">807</span>    if (conf == null) {<a name="line.807"></a>
 <span class="sourceLineNo">808</span>      throw new IllegalArgumentException("Must provide a configuration object.");<a name="line.808"></a>
 <span class="sourceLineNo">809</span>    }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    Set&lt;String&gt; paths = new HashSet&lt;String&gt;(conf.getStringCollection("tmpjars"));<a name="line.810"></a>
+<span class="sourceLineNo">810</span>    Set&lt;String&gt; paths = new HashSet&lt;&gt;(conf.getStringCollection("tmpjars"));<a name="line.810"></a>
 <span class="sourceLineNo">811</span>    if (paths.isEmpty()) {<a name="line.811"></a>
 <span class="sourceLineNo">812</span>      throw new IllegalArgumentException("Configuration contains no tmpjars.");<a name="line.812"></a>
 <span class="sourceLineNo">813</span>    }<a name="line.813"></a>
@@ -887,13 +887,13 @@
 <span class="sourceLineNo">879</span>      Class&lt;?&gt;... classes) throws IOException {<a name="line.879"></a>
 <span class="sourceLineNo">880</span><a name="line.880"></a>
 <span class="sourceLineNo">881</span>    FileSystem localFs = FileSystem.getLocal(conf);<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    Set&lt;String&gt; jars = new HashSet&lt;String&gt;();<a name="line.882"></a>
+<span class="sourceLineNo">882</span>    Set&lt;String&gt; jars = new HashSet&lt;&gt;();<a name="line.882"></a>
 <span class="sourceLineNo">883</span>    // Add jars that are already in the tmpjars variable<a name="line.883"></a>
 <span class="sourceLineNo">884</span>    jars.addAll(conf.getStringCollection("tmpjars"));<a name="line.884"></a>
 <span class="sourceLineNo">885</span><a name="line.885"></a>
 <span class="sourceLineNo">886</span>    // add jars as we find them to a map of contents jar name so that we can avoid<a name="line.886"></a>
 <span class="sourceLineNo">887</span>    // creating new jars for classes that have already been packaged.<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    Map&lt;String, String&gt; packagedClasses = new HashMap&lt;String, String&gt;();<a name="line.888"></a>
+<span class="sourceLineNo">888</span>    Map&lt;String, String&gt; packagedClasses = new HashMap&lt;&gt;();<a name="line.888"></a>
 <span class="sourceLineNo">889</span><a name="line.889"></a>
 <span class="sourceLineNo">890</span>    // Add jars containing the specified classes<a name="line.890"></a>
 <span class="sourceLineNo">891</span>    for (Class&lt;?&gt; clazz : classes) {<a name="line.891"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html
index 3150448..9567688 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html
@@ -89,7 +89,7 @@
 <span class="sourceLineNo">081</span>   */<a name="line.81"></a>
 <span class="sourceLineNo">082</span>  public void restart(byte[] firstRow) throws IOException {<a name="line.82"></a>
 <span class="sourceLineNo">083</span>    currentScan = new Scan(scan);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    currentScan.setStartRow(firstRow);<a name="line.84"></a>
+<span class="sourceLineNo">084</span>    currentScan.withStartRow(firstRow);<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    currentScan.setScanMetricsEnabled(true);<a name="line.85"></a>
 <span class="sourceLineNo">086</span>    if (this.scanner != null) {<a name="line.86"></a>
 <span class="sourceLineNo">087</span>      if (logScannerActivity) {<a name="line.87"></a>
@@ -281,7 +281,7 @@
 <span class="sourceLineNo">273</span>   * @throws IOException<a name="line.273"></a>
 <span class="sourceLineNo">274</span>   */<a name="line.274"></a>
 <span class="sourceLineNo">275</span>  private void updateCounters() throws IOException {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    ScanMetrics scanMetrics = currentScan.getScanMetrics();<a name="line.276"></a>
+<span class="sourceLineNo">276</span>    ScanMetrics scanMetrics = scanner.getScanMetrics();<a name="line.276"></a>
 <span class="sourceLineNo">277</span>    if (scanMetrics == null) {<a name="line.277"></a>
 <span class="sourceLineNo">278</span>      return;<a name="line.278"></a>
 <span class="sourceLineNo">279</span>    }<a name="line.279"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html
index 2a522e5..21a2475 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html
@@ -191,7 +191,7 @@
 <span class="sourceLineNo">183</span><a name="line.183"></a>
 <span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
 <span class="sourceLineNo">185</span>  public List&lt;InputSplit&gt; getSplits(JobContext job) throws IOException, InterruptedException {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    List&lt;InputSplit&gt; results = new ArrayList&lt;InputSplit&gt;();<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    List&lt;InputSplit&gt; results = new ArrayList&lt;&gt;();<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    for (TableSnapshotInputFormatImpl.InputSplit split :<a name="line.187"></a>
 <span class="sourceLineNo">188</span>        TableSnapshotInputFormatImpl.getSplits(job.getConfiguration())) {<a name="line.188"></a>
 <span class="sourceLineNo">189</span>      results.add(new TableSnapshotRegionSplit(split));<a name="line.189"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TextSortReducer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TextSortReducer.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TextSortReducer.html
index 6ab4f9e..0c0f789 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TextSortReducer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TextSortReducer.html
@@ -154,7 +154,7 @@
 <span class="sourceLineNo">146</span>        "reducer.row.threshold", 1L * (1&lt;&lt;30));<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    Iterator&lt;Text&gt; iter = lines.iterator();<a name="line.147"></a>
 <span class="sourceLineNo">148</span>    while (iter.hasNext()) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      Set&lt;KeyValue&gt; kvs = new TreeSet&lt;KeyValue&gt;(CellComparator.COMPARATOR);<a name="line.149"></a>
+<span class="sourceLineNo">149</span>      Set&lt;KeyValue&gt; kvs = new TreeSet&lt;&gt;(CellComparator.COMPARATOR);<a name="line.149"></a>
 <span class="sourceLineNo">150</span>      long curSize = 0;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>      // stop at the end or the RAM threshold<a name="line.151"></a>
 <span class="sourceLineNo">152</span>      while (iter.hasNext() &amp;&amp; curSize &lt; threshold) {<a name="line.152"></a>
@@ -168,7 +168,7 @@
 <span class="sourceLineNo">160</span>          ttl = parsed.getCellTTL();<a name="line.160"></a>
 <span class="sourceLineNo">161</span>          <a name="line.161"></a>
 <span class="sourceLineNo">162</span>          // create tags for the parsed line<a name="line.162"></a>
-<span class="sourceLineNo">163</span>          List&lt;Tag&gt; tags = new ArrayList&lt;Tag&gt;();<a name="line.163"></a>
+<span class="sourceLineNo">163</span>          List&lt;Tag&gt; tags = new ArrayList&lt;&gt;();<a name="line.163"></a>
 <span class="sourceLineNo">164</span>          if (cellVisibilityExpr != null) {<a name="line.164"></a>
 <span class="sourceLineNo">165</span>            tags.addAll(kvCreator.getVisibilityExpressionResolver().createVisibilityExpTags(<a name="line.165"></a>
 <span class="sourceLineNo">166</span>              cellVisibilityExpr));<a name="line.166"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html
index 3cc021f..7f63b52 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html
@@ -121,7 +121,7 @@
 <span class="sourceLineNo">113</span>      throw new RuntimeException("No row key column specified");<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    }<a name="line.114"></a>
 <span class="sourceLineNo">115</span>    this.kvCreator = new CellCreator(conf);<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    tags = new ArrayList&lt;Tag&gt;();<a name="line.116"></a>
+<span class="sourceLineNo">116</span>    tags = new ArrayList&lt;&gt;();<a name="line.116"></a>
 <span class="sourceLineNo">117</span>  }<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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index 2ba99c4..05e46b2 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -35,264 +35,276 @@
 <span class="sourceLineNo">027</span><a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.conf.Configuration;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileStatus;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FileStatus;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileSystem;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import org.apache.hadoop.fs.Path;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.io.Writable;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>/**<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>@InterfaceAudience.Public<a name="line.50"></a>
-<span class="sourceLineNo">051</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public static final String END_TIME_KEY = "wal.end.time";<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>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * exactly one log file.<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    private String logFileName;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    private long fileSize;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    private long startTime;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    private long endTime;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>    /** for serialization */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    public WALSplit() {}<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>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.71"></a>
-<span class="sourceLineNo">072</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.72"></a>
-<span class="sourceLineNo">073</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.73"></a>
-<span class="sourceLineNo">074</span>     * @param logFileName<a name="line.74"></a>
-<span class="sourceLineNo">075</span>     * @param fileSize<a name="line.75"></a>
-<span class="sourceLineNo">076</span>     * @param startTime<a name="line.76"></a>
-<span class="sourceLineNo">077</span>     * @param endTime<a name="line.77"></a>
-<span class="sourceLineNo">078</span>     */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      this.logFileName = logFileName;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      this.fileSize = fileSize;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      this.startTime = startTime;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      this.endTime = endTime;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>    @Override<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    public long getLength() throws IOException, InterruptedException {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      return fileSize;<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>    @Override<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      return new String[] {};<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>    public String getLogFileName() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return logFileName;<a name="line.98"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.io.Writable;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.util.StringUtils;<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> */<a name="line.53"></a>
+<span class="sourceLineNo">054</span>@InterfaceAudience.Public<a name="line.54"></a>
+<span class="sourceLineNo">055</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   * exactly one log file.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   */<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    private String logFileName;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    private long fileSize;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    private long startTime;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    private long endTime;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    /** for serialization */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    public WALSplit() {}<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">075</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.75"></a>
+<span class="sourceLineNo">076</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.76"></a>
+<span class="sourceLineNo">077</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.77"></a>
+<span class="sourceLineNo">078</span>     * @param logFileName<a name="line.78"></a>
+<span class="sourceLineNo">079</span>     * @param fileSize<a name="line.79"></a>
+<span class="sourceLineNo">080</span>     * @param startTime<a name="line.80"></a>
+<span class="sourceLineNo">081</span>     * @param endTime<a name="line.81"></a>
+<span class="sourceLineNo">082</span>     */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      this.logFileName = logFileName;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>      this.fileSize = fileSize;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      this.startTime = startTime;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      this.endTime = endTime;<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>    @Override<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    public long getLength() throws IOException, InterruptedException {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      return fileSize;<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 String[] getLocations() throws IOException, InterruptedException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      return new String[] {};<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>    public long getStartTime() {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      return startTime;<a name="line.102"></a>
+<span class="sourceLineNo">101</span>    public String getLogFileName() {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      return logFileName;<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>    public long getEndTime() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      return endTime;<a name="line.106"></a>
+<span class="sourceLineNo">105</span>    public long getStartTime() {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      return startTime;<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>    @Override<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    public void readFields(DataInput in) throws IOException {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      logFileName = in.readUTF();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      fileSize = in.readLong();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      startTime = in.readLong();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      endTime = in.readLong();<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>    @Override<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public void write(DataOutput out) throws IOException {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      out.writeUTF(logFileName);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      out.writeLong(fileSize);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      out.writeLong(startTime);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      out.writeLong(endTime);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>    @Override<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    public String toString() {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<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">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * {@link RecordReader} for an {@link WAL} file.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    private Reader reader = null;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    Entry currentEntry = new Entry();<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private long startTime;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private long endTime;<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    @Override<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        throws IOException, InterruptedException {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      WALSplit hsplit = (WALSplit)split;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      Path logFile = new Path(hsplit.getLogFileName());<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      Configuration conf = context.getConfiguration();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      LOG.info("Opening reader for "+split);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      try {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        this.reader = WALFactory.createReader(logFile.getFileSystem(conf), logFile, conf);<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      } catch (EOFException x) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        LOG.info("Ignoring corrupted WAL file: " + logFile<a name="line.152"></a>
-<span class="sourceLineNo">153</span>            + " (This is normal when a RegionServer crashed.)");<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        this.reader = null;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      this.startTime = hsplit.getStartTime();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      this.endTime = hsplit.getEndTime();<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>    @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      if (reader == null) return false;<a name="line.162"></a>
+<span class="sourceLineNo">109</span>    public long getEndTime() {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      return endTime;<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 void readFields(DataInput in) throws IOException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      logFileName = in.readUTF();<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      fileSize = in.readLong();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      startTime = in.readLong();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      endTime = in.readLong();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>    @Override<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    public void write(DataOutput out) throws IOException {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      out.writeUTF(logFileName);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      out.writeLong(fileSize);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      out.writeLong(startTime);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      out.writeLong(endTime);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>    @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    public String toString() {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<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><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * {@link RecordReader} for an {@link WAL} file.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    private Reader reader = null;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    Entry currentEntry = new Entry();<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    private long startTime;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    private long endTime;<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        throws IOException, InterruptedException {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      WALSplit hsplit = (WALSplit)split;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      Path logFile = new Path(hsplit.getLogFileName());<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      Configuration conf = context.getConfiguration();<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      LOG.info("Opening reader for "+split);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      try {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        this.reader = WALFactory.createReader(logFile.getFileSystem(conf), logFile, conf);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      } catch (EOFException x) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        LOG.info("Ignoring corrupted WAL file: " + logFile<a name="line.156"></a>
+<span class="sourceLineNo">157</span>            + " (This is normal when a RegionServer crashed.)");<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        this.reader = null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      this.startTime = hsplit.getStartTime();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      this.endTime = hsplit.getEndTime();<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
 <span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>      Entry temp;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      long i = -1;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      do {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        // skip older entries<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        try {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>          temp = reader.next(currentEntry);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>          i++;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        } catch (EOFException x) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          LOG.info("Corrupted entry detected. Ignoring the rest of the file."<a name="line.172"></a>
-<span class="sourceLineNo">173</span>              + " (This is normal when a RegionServer crashed.)");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>          return false;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      }<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      while(temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>      if (temp == null) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        LOG.info("Reached end of file.");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        return false;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      } else if (i &gt; 0) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      if (!res) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        LOG.info("Reached ts: " + temp.getKey().getWriteTime() + " ignoring the rest of the file.");<a name="line.188"></a>
+<span class="sourceLineNo">164</span>    @Override<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      if (reader == null) return false;<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Entry temp;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      long i = -1;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      do {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>        // skip older entries<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        try {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          temp = reader.next(currentEntry);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>          i++;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        } catch (EOFException x) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.176"></a>
+<span class="sourceLineNo">177</span>              + " (This is normal when a RegionServer crashed.)");<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          return false;<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>      while(temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (temp == null) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        LOG.info("Reached end of file.");<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        return false;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      } else if (i &gt; 0) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.188"></a>
 <span class="sourceLineNo">189</span>      }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      return res;<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>    @Override<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return currentEntry.getEdit();<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>    @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      // N/A depends on total number of entries, which is unknown<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      return 0;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>    @Override<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    public void close() throws IOException {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      LOG.info("Closing reader");<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      if (reader != null) this.reader.close();<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><a name="line.210"></a>
-<span class="sourceLineNo">211</span>  /**<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * need to support HLogInputFormat.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    @Override<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      return currentEntry.getKey();<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><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  @Override<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      InterruptedException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  }<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  /**<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   * implementation shared with deprecated HLogInputFormat<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      throws IOException, InterruptedException {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    Configuration conf = context.getConfiguration();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    Path inputDir = new Path(conf.get("mapreduce.input.fileinputformat.inputdir"));<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    FileSystem fs = inputDir.getFileSystem(conf);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    List&lt;FileStatus&gt; files = getFiles(fs, inputDir, startTime, endTime);<a name="line.240"></a>
+<span class="sourceLineNo">190</span>      boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      if (!res) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        LOG.info("Reached ts: " + temp.getKey().getWriteTime() + " ignoring the rest of the file.");<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      return res;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>    @Override<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      return currentEntry.getEdit();<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>    @Override<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      // N/A depends on total number of entries, which is unknown<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      return 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>    @Override<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    public void close() throws IOException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      LOG.info("Closing reader");<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      if (reader != null) this.reader.close();<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    }<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>  /**<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * need to support HLogInputFormat.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    @Override<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return currentEntry.getKey();<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      InterruptedException {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
+<span class="sourceLineNo">231</span><a name="line.231"></a>
+<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * implementation shared with deprecated HLogInputFormat<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    Configuration conf = context.getConfiguration();<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.240"></a>
 <span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(files.size());<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    for (FileStatus file : files) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    return splits;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      throws IOException {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;FileStatus&gt;();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>    FileStatus[] files = fs.listStatus(dir);<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    if (files == null) return Collections.emptyList();<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    for (FileStatus file : files) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      if (file.isDirectory()) {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        // recurse into sub directories<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      } else {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        String name = file.getPath().toString();<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        int idx = name.lastIndexOf('.');<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        if (idx &gt; 0) {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>          try {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.265"></a>
-<span class="sourceLineNo">266</span>            if (fileStartTime &lt;= endTime) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              LOG.info("Found: " + name);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>              result.add(file);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>            }<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          } catch (NumberFormatException x) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            idx = 0;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>          }<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        }<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        if (idx == 0) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    return result;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>  @Override<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    return new WALKeyRecordReader();<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">242</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    for(Path inputPath: inputPaths){<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      allFiles.addAll(files);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    for (FileStatus file : allFiles) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    return splits;<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>  private Path[] getInputPaths(Configuration conf) {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    String inpDirs = conf.get("mapreduce.input.fileinputformat.inputdir");<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    return StringUtils.stringToPath(inpDirs.split(","));<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>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      throws IOException {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    while (iter.hasNext()) {<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      LocatedFileStatus file = iter.next();<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      if (file.isDirectory()) {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>        // recurse into sub directories<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      } else {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>        String name = file.getPath().toString();<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        int idx = name.lastIndexOf('.');<a name="line.274"></a>
+<span class="sourceLineNo">275</span>        if (idx &gt; 0) {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>          try {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.277"></a>
+<span class="sourceLineNo">278</span>            if (fileStartTime &lt;= endTime) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>              LOG.info("Found: " + file);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>              result.add(file);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>            }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          } catch (NumberFormatException x) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>            idx = 0;<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>        if (idx == 0) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<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>    }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    return result;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
+<span class="sourceLineNo">293</span><a name="line.293"></a>
+<span class="sourceLineNo">294</span>  @Override<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    return new WALKeyRecordReader();<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
+<span class="sourceLineNo">299</span>}<a name="line.299"></a>
 
 
 


[23/52] [partial] hbase-site git commit: Published site at 1cfd22bf43c9b64afae35d9bf16f764d0da80cab.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
index 0859dfa..88da4c0 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.HTableMultiplexerStatus.html
@@ -177,7 +177,7 @@
 <span class="sourceLineNo">169</span><a name="line.169"></a>
 <span class="sourceLineNo">170</span>        // Create the failed puts list if necessary<a name="line.170"></a>
 <span class="sourceLineNo">171</span>        if (failedPuts == null) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.172"></a>
+<span class="sourceLineNo">172</span>          failedPuts = new ArrayList&lt;&gt;();<a name="line.172"></a>
 <span class="sourceLineNo">173</span>        }<a name="line.173"></a>
 <span class="sourceLineNo">174</span>        // Add the put to the failed puts list<a name="line.174"></a>
 <span class="sourceLineNo">175</span>        failedPuts.add(put);<a name="line.175"></a>
@@ -296,10 +296,10 @@
 <span class="sourceLineNo">288</span>      this.totalFailedPutCounter = 0;<a name="line.288"></a>
 <span class="sourceLineNo">289</span>      this.maxLatency = 0;<a name="line.289"></a>
 <span class="sourceLineNo">290</span>      this.overallAverageLatency = 0;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.294"></a>
+<span class="sourceLineNo">291</span>      this.serverToBufferedCounterMap = new HashMap&lt;&gt;();<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      this.serverToFailedCounterMap = new HashMap&lt;&gt;();<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      this.serverToAverageLatencyMap = new HashMap&lt;&gt;();<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.serverToMaxLatencyMap = new HashMap&lt;&gt;();<a name="line.294"></a>
 <span class="sourceLineNo">295</span>      this.initialize(serverToFlushWorkerMap);<a name="line.295"></a>
 <span class="sourceLineNo">296</span>    }<a name="line.296"></a>
 <span class="sourceLineNo">297</span><a name="line.297"></a>
@@ -420,7 +420,7 @@
 <span class="sourceLineNo">412</span>    }<a name="line.412"></a>
 <span class="sourceLineNo">413</span><a name="line.413"></a>
 <span class="sourceLineNo">414</span>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.415"></a>
+<span class="sourceLineNo">415</span>      return new SimpleEntry&lt;&gt;(sum, count);<a name="line.415"></a>
 <span class="sourceLineNo">416</span>    }<a name="line.416"></a>
 <span class="sourceLineNo">417</span><a name="line.417"></a>
 <span class="sourceLineNo">418</span>    public synchronized void reset() {<a name="line.418"></a>
@@ -622,7 +622,7 @@
 <span class="sourceLineNo">614</span>              failedCount--;<a name="line.614"></a>
 <span class="sourceLineNo">615</span>            } else {<a name="line.615"></a>
 <span class="sourceLineNo">616</span>              if (failed == null) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>                failed = new ArrayList&lt;PutStatus&gt;();<a name="line.617"></a>
+<span class="sourceLineNo">617</span>                failed = new ArrayList&lt;&gt;();<a name="line.617"></a>
 <span class="sourceLineNo">618</span>              }<a name="line.618"></a>
 <span class="sourceLineNo">619</span>              failed.add(processingList.get(i));<a name="line.619"></a>
 <span class="sourceLineNo">620</span>            }<a name="line.620"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
index 0859dfa..88da4c0 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/HTableMultiplexer.html
@@ -177,7 +177,7 @@
 <span class="sourceLineNo">169</span><a name="line.169"></a>
 <span class="sourceLineNo">170</span>        // Create the failed puts list if necessary<a name="line.170"></a>
 <span class="sourceLineNo">171</span>        if (failedPuts == null) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          failedPuts = new ArrayList&lt;Put&gt;();<a name="line.172"></a>
+<span class="sourceLineNo">172</span>          failedPuts = new ArrayList&lt;&gt;();<a name="line.172"></a>
 <span class="sourceLineNo">173</span>        }<a name="line.173"></a>
 <span class="sourceLineNo">174</span>        // Add the put to the failed puts list<a name="line.174"></a>
 <span class="sourceLineNo">175</span>        failedPuts.add(put);<a name="line.175"></a>
@@ -296,10 +296,10 @@
 <span class="sourceLineNo">288</span>      this.totalFailedPutCounter = 0;<a name="line.288"></a>
 <span class="sourceLineNo">289</span>      this.maxLatency = 0;<a name="line.289"></a>
 <span class="sourceLineNo">290</span>      this.overallAverageLatency = 0;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      this.serverToBufferedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      this.serverToFailedCounterMap = new HashMap&lt;String, Long&gt;();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      this.serverToAverageLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      this.serverToMaxLatencyMap = new HashMap&lt;String, Long&gt;();<a name="line.294"></a>
+<span class="sourceLineNo">291</span>      this.serverToBufferedCounterMap = new HashMap&lt;&gt;();<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      this.serverToFailedCounterMap = new HashMap&lt;&gt;();<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      this.serverToAverageLatencyMap = new HashMap&lt;&gt;();<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.serverToMaxLatencyMap = new HashMap&lt;&gt;();<a name="line.294"></a>
 <span class="sourceLineNo">295</span>      this.initialize(serverToFlushWorkerMap);<a name="line.295"></a>
 <span class="sourceLineNo">296</span>    }<a name="line.296"></a>
 <span class="sourceLineNo">297</span><a name="line.297"></a>
@@ -420,7 +420,7 @@
 <span class="sourceLineNo">412</span>    }<a name="line.412"></a>
 <span class="sourceLineNo">413</span><a name="line.413"></a>
 <span class="sourceLineNo">414</span>    public synchronized SimpleEntry&lt;Long, Integer&gt; getComponents() {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      return new SimpleEntry&lt;Long, Integer&gt;(sum, count);<a name="line.415"></a>
+<span class="sourceLineNo">415</span>      return new SimpleEntry&lt;&gt;(sum, count);<a name="line.415"></a>
 <span class="sourceLineNo">416</span>    }<a name="line.416"></a>
 <span class="sourceLineNo">417</span><a name="line.417"></a>
 <span class="sourceLineNo">418</span>    public synchronized void reset() {<a name="line.418"></a>
@@ -622,7 +622,7 @@
 <span class="sourceLineNo">614</span>              failedCount--;<a name="line.614"></a>
 <span class="sourceLineNo">615</span>            } else {<a name="line.615"></a>
 <span class="sourceLineNo">616</span>              if (failed == null) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>                failed = new ArrayList&lt;PutStatus&gt;();<a name="line.617"></a>
+<span class="sourceLineNo">617</span>                failed = new ArrayList&lt;&gt;();<a name="line.617"></a>
 <span class="sourceLineNo">618</span>              }<a name="line.618"></a>
 <span class="sourceLineNo">619</span>              failed.add(processingList.get(i));<a name="line.619"></a>
 <span class="sourceLineNo">620</span>            }<a name="line.620"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/22cff34f/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html b/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html
index 89f978d..753dd06 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Increment.html
@@ -212,140 +212,139 @@
 <span class="sourceLineNo">204</span>   */<a name="line.204"></a>
 <span class="sourceLineNo">205</span>  public Map&lt;byte[], NavigableMap&lt;byte [], Long&gt;&gt; getFamilyMapOfLongs() {<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    NavigableMap&lt;byte[], List&lt;Cell&gt;&gt; map = super.getFamilyCellMap();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    Map&lt;byte [], NavigableMap&lt;byte[], Long&gt;&gt; results =<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      new TreeMap&lt;byte[], NavigableMap&lt;byte [], Long&gt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    for (Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry: map.entrySet()) {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      NavigableMap&lt;byte [], Long&gt; longs = new TreeMap&lt;byte [], Long&gt;(Bytes.BYTES_COMPARATOR);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      for (Cell cell: entry.getValue()) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>        longs.put(CellUtil.cloneQualifier(cell),<a name="line.212"></a>
-<span class="sourceLineNo">213</span>            Bytes.toLong(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      }<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      results.put(entry.getKey(), longs);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return results;<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>  /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @return String<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  @Override<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  public String toString() {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    StringBuilder sb = new StringBuilder();<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    sb.append("row=");<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    sb.append(Bytes.toStringBinary(this.row));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    if(this.familyMap.isEmpty()) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      sb.append(", no columns set to be incremented");<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      return sb.toString();<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    sb.append(", families=");<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    boolean moreThanOne = false;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    for(Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry: this.familyMap.entrySet()) {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      if(moreThanOne) {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        sb.append("), ");<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      } else {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        moreThanOne = true;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        sb.append("{");<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      sb.append("(family=");<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      sb.append(Bytes.toString(entry.getKey()));<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      sb.append(", columns=");<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      if(entry.getValue() == null) {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        sb.append("NONE");<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      } else {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        sb.append("{");<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        boolean moreThanOneB = false;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        for(Cell cell : entry.getValue()) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          if(moreThanOneB) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            sb.append(", ");<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          } else {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>            moreThanOneB = true;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>          }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>          sb.append(CellUtil.getCellKeyAsString(cell) + "+=" +<a name="line.255"></a>
-<span class="sourceLineNo">256</span>              Bytes.toLong(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        sb.append("}");<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>    sb.append("}");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    return sb.toString();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  }<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public int compareTo(Row i) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    // TODO: This is wrong.  Can't have two the same just because on same row.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return Bytes.compareTo(this.getRow(), i.getRow());<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>  @Override<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  public int hashCode() {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    // TODO: This is wrong.  Can't have two gets the same just because on same row.  But it<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    // matches how equals works currently and gets rid of the findbugs warning.<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    return Bytes.hashCode(this.getRow());<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  }<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>  @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  public boolean equals(Object obj) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    // TODO: This is wrong.  Can't have two the same just because on same row.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    if (this == obj) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      return true;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    if (obj == null || getClass() != obj.getClass()) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      return false;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    }<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    Row other = (Row) obj;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    return compareTo(other) == 0;<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>  @Override<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  protected long extraHeapSize(){<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    return HEAP_OVERHEAD;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  }<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>  @Override<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public Increment setAttribute(String name, byte[] value) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return (Increment) super.setAttribute(name, value);<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">301</span>  @Override<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  public Increment setId(String id) {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    return (Increment) super.setId(id);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  }<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  @Override<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  public Increment setDurability(Durability d) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    return (Increment) super.setDurability(d);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  }<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span>  @Override<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  public Increment setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt; map) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    return (Increment) super.setFamilyCellMap(map);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public Increment setClusterIds(List&lt;UUID&gt; clusterIds) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    return (Increment) super.setClusterIds(clusterIds);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  @Override<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  public Increment setCellVisibility(CellVisibility expression) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    return (Increment) super.setCellVisibility(expression);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  @Override<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public Increment setACL(String user, Permission perms) {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return (Increment) super.setACL(user, perms);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public Increment setACL(Map&lt;String, Permission&gt; perms) {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return (Increment) super.setACL(perms);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>  @Override<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public Increment setTTL(long ttl) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return (Increment) super.setTTL(ttl);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span>}<a name="line.340"></a>
+<span class="sourceLineNo">207</span>    Map&lt;byte [], NavigableMap&lt;byte[], Long&gt;&gt; results = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    for (Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry: map.entrySet()) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      NavigableMap&lt;byte [], Long&gt; longs = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      for (Cell cell: entry.getValue()) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        longs.put(CellUtil.cloneQualifier(cell),<a name="line.211"></a>
+<span class="sourceLineNo">212</span>            Bytes.toLong(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      results.put(entry.getKey(), longs);<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    }<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    return results;<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>   * @return String<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   */<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  @Override<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  public String toString() {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    StringBuilder sb = new StringBuilder();<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    sb.append("row=");<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    sb.append(Bytes.toStringBinary(this.row));<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    if(this.familyMap.isEmpty()) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      sb.append(", no columns set to be incremented");<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      return sb.toString();<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    sb.append(", families=");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    boolean moreThanOne = false;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    for(Map.Entry&lt;byte [], List&lt;Cell&gt;&gt; entry: this.familyMap.entrySet()) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      if(moreThanOne) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        sb.append("), ");<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      } else {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        moreThanOne = true;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        sb.append("{");<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      sb.append("(family=");<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      sb.append(Bytes.toString(entry.getKey()));<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      sb.append(", columns=");<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      if(entry.getValue() == null) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        sb.append("NONE");<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      } else {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        sb.append("{");<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        boolean moreThanOneB = false;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        for(Cell cell : entry.getValue()) {<a name="line.248"></a>
+<span class="sourceLineNo">249</span>          if(moreThanOneB) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>            sb.append(", ");<a name="line.250"></a>
+<span class="sourceLineNo">251</span>          } else {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>            moreThanOneB = true;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>          }<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          sb.append(CellUtil.getCellKeyAsString(cell) + "+=" +<a name="line.254"></a>
+<span class="sourceLineNo">255</span>              Bytes.toLong(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength()));<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        }<a name="line.256"></a>
+<span class="sourceLineNo">257</span>        sb.append("}");<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>    sb.append("}");<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    return sb.toString();<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  @Override<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  public int compareTo(Row i) {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    // TODO: This is wrong.  Can't have two the same just because on same row.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    return Bytes.compareTo(this.getRow(), i.getRow());<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>  @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  public int hashCode() {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    // TODO: This is wrong.  Can't have two gets the same just because on same row.  But it<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    // matches how equals works currently and gets rid of the findbugs warning.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    return Bytes.hashCode(this.getRow());<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>  @Override<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  public boolean equals(Object obj) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    // TODO: This is wrong.  Can't have two the same just because on same row.<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    if (this == obj) {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      return true;<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    }<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    if (obj == null || getClass() != obj.getClass()) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      return false;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    Row other = (Row) obj;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    return compareTo(other) == 0;<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>  @Override<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  protected long extraHeapSize(){<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    return HEAP_OVERHEAD;<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>  @Override<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  public Increment setAttribute(String name, byte[] value) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    return (Increment) super.setAttribute(name, value);<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  @Override<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  public Increment setId(String id) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    return (Increment) super.setId(id);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  @Override<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public Increment setDurability(Durability d) {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    return (Increment) super.setDurability(d);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  }<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>  @Override<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public Increment setFamilyCellMap(NavigableMap&lt;byte[], List&lt;Cell&gt;&gt; map) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    return (Increment) super.setFamilyCellMap(map);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>  @Override<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  public Increment setClusterIds(List&lt;UUID&gt; clusterIds) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    return (Increment) super.setClusterIds(clusterIds);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>  @Override<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  public Increment setCellVisibility(CellVisibility expression) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    return (Increment) super.setCellVisibility(expression);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  @Override<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  public Increment setACL(String user, Permission perms) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    return (Increment) super.setACL(user, perms);<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span>  @Override<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  public Increment setACL(Map&lt;String, Permission&gt; perms) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    return (Increment) super.setACL(perms);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  public Increment setTTL(long ttl) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    return (Increment) super.setTTL(ttl);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>}<a name="line.339"></a>