You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/03/05 14:53:34 UTC

[01/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site d77bb8707 -> 6b94a2f26


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html
index e780f3e..d9048c2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html
@@ -7,91 +7,91 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.regionserver;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.regionserver;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.FileNotFoundException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<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.Collection;<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.Optional;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.UUID;<a name="line.29"></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.FSDataInputStream;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FSDataOutputStream;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileStatus;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.FileSystem;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.FileUtil;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.fs.Path;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.fs.permission.FsPermission;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.Cell;<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.PrivateCellUtil;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.Reference;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.FSHDFSUtils;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.slf4j.Logger;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.slf4j.LoggerFactory;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>import edu.umd.cs.findbugs.annotations.Nullable;<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> * View to an on-disk Region.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Provides the set of methods necessary to interact with the on-disk region data.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>@InterfaceAudience.Private<a name="line.65"></a>
-<span class="sourceLineNo">066</span>public class HRegionFileSystem {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final Logger LOG = LoggerFactory.getLogger(HRegionFileSystem.class);<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  /** Name of the region info file that resides just under the region directory. */<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public final static String REGION_INFO_FILE = ".regioninfo";<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  /** Temporary subdirectory of the region directory used for merges. */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  public static final String REGION_MERGES_DIR = ".merges";<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  /** Temporary subdirectory of the region directory used for splits. */<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public static final String REGION_SPLITS_DIR = ".splits";<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>  /** Temporary subdirectory of the region directory used for compaction output. */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  @VisibleForTesting static final String REGION_TEMP_DIR = ".tmp";<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final RegionInfo regionInfo;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  //regionInfo for interacting with FS (getting encodedName, etc)<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  private final RegionInfo regionInfoForFs;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  private final Configuration conf;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final Path tableDir;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  private final FileSystem fs;<a name="line.86"></a>
+<span class="sourceLineNo">020</span>import java.io.FileNotFoundException;<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.io.InterruptedIOException;<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.List;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Objects;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.Optional;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.UUID;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.fs.FSDataInputStream;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FSDataOutputStream;<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">034</span>import org.apache.hadoop.fs.FileUtil;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.Path;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.fs.permission.FsPermission;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HConstants;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.backup.HFileArchiver;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.Reference;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.util.FSHDFSUtils;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.slf4j.Logger;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.slf4j.LoggerFactory;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>import edu.umd.cs.findbugs.annotations.Nullable;<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> * View to an on-disk Region.<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * Provides the set of methods necessary to interact with the on-disk region data.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>@InterfaceAudience.Private<a name="line.64"></a>
+<span class="sourceLineNo">065</span>public class HRegionFileSystem {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private static final Logger LOG = LoggerFactory.getLogger(HRegionFileSystem.class);<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /** Name of the region info file that resides just under the region directory. */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public final static String REGION_INFO_FILE = ".regioninfo";<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /** Temporary subdirectory of the region directory used for merges. */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public static final String REGION_MERGES_DIR = ".merges";<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  /** Temporary subdirectory of the region directory used for splits. */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final String REGION_SPLITS_DIR = ".splits";<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /** Temporary subdirectory of the region directory used for compaction output. */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  @VisibleForTesting static final String REGION_TEMP_DIR = ".tmp";<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  private final RegionInfo regionInfo;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  //regionInfo for interacting with FS (getting encodedName, etc)<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  private final RegionInfo regionInfoForFs;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  private final Configuration conf;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  private final Path tableDir;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final FileSystem fs;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  private final Path regionDir;<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>   * In order to handle NN connectivity hiccups, one need to retry non-idempotent operation at the<a name="line.89"></a>
@@ -113,1107 +113,1108 @@
 <span class="sourceLineNo">105</span>      final RegionInfo regionInfo) {<a name="line.105"></a>
 <span class="sourceLineNo">106</span>    this.fs = fs;<a name="line.106"></a>
 <span class="sourceLineNo">107</span>    this.conf = conf;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    this.tableDir = tableDir;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    this.regionInfo = regionInfo;<a name="line.109"></a>
+<span class="sourceLineNo">108</span>    this.tableDir = Objects.requireNonNull(tableDir, "tableDir is null");<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    this.regionInfo = Objects.requireNonNull(regionInfo, "regionInfo is null");<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    this.regionInfoForFs = ServerRegionReplicaUtil.getRegionInfoForFs(regionInfo);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    this.hdfsClientRetriesNumber = conf.getInt("hdfs.client.retries.number",<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      DEFAULT_HDFS_CLIENT_RETRIES_NUMBER);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    this.baseSleepBeforeRetries = conf.getInt("hdfs.client.sleep.before.retries",<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      DEFAULT_BASE_SLEEP_BEFORE_RETRIES);<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>  /** @return the underlying {@link FileSystem} */<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public FileSystem getFileSystem() {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    return this.fs;<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 {@link RegionInfo} that describe this on-disk region view */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  public RegionInfo getRegionInfo() {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    return this.regionInfo;<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 RegionInfo getRegionInfoForFS() {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return this.regionInfoForFs;<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>  /** @return {@link Path} to the region's root directory. */<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  public Path getTableDir() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return this.tableDir;<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>  /** @return {@link Path} to the region directory. */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public Path getRegionDir() {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    return new Path(this.tableDir, this.regionInfoForFs.getEncodedName());<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>  //  Temp Helpers<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  // ===========================================================================<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /** @return {@link Path} to the region's temp directory, used for file creations */<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  Path getTempDir() {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    return new Path(getRegionDir(), REGION_TEMP_DIR);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  /**<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * Clean up any temp detritus that may have been left around from previous operation attempts.<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   */<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  void cleanupTempDir() throws IOException {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    deleteDir(getTempDir());<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>  //  Store/StoreFile Helpers<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>   * Returns the directory path of the specified family<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * @param familyName Column Family Name<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * @return {@link Path} to the directory of the specified family<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public Path getStoreDir(final String familyName) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return new Path(this.getRegionDir(), familyName);<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>  /**<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * Create the store directory for the specified family name<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @param familyName Column Family Name<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * @return {@link Path} to the directory of the specified family<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * @throws IOException if the directory creation fails.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  Path createStoreDir(final String familyName) throws IOException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    Path storeDir = getStoreDir(familyName);<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    if(!fs.exists(storeDir) &amp;&amp; !createDir(storeDir))<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      throw new IOException("Failed creating "+storeDir);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    return storeDir;<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>   * Set the directory of CF to the specified storage policy. &lt;br&gt;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * &lt;i&gt;"LAZY_PERSIST"&lt;/i&gt;, &lt;i&gt;"ALL_SSD"&lt;/i&gt;, &lt;i&gt;"ONE_SSD"&lt;/i&gt;, &lt;i&gt;"HOT"&lt;/i&gt;, &lt;i&gt;"WARM"&lt;/i&gt;,<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * &lt;i&gt;"COLD"&lt;/i&gt; &lt;br&gt;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * &lt;br&gt;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * See {@link org.apache.hadoop.hdfs.protocol.HdfsConstants} for more details.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @param familyName The name of column family.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * @param policyName The name of the storage policy: 'HOT', 'COLD', etc.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   * See see hadoop 2.6+ org.apache.hadoop.hdfs.protocol.HdfsConstants for possible list e.g<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   * 'COLD', 'WARM', 'HOT', 'ONE_SSD', 'ALL_SSD', 'LAZY_PERSIST'.<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   */<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  public void setStoragePolicy(String familyName, String policyName) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    FSUtils.setStoragePolicy(this.fs, getStoreDir(familyName), policyName);<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>  /**<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * Get the storage policy of the directory of CF.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   * @param familyName The name of column family.<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * @return Storage policy name, or {@code null} if not using {@link HFileSystem} or exception<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   *         thrown when trying to get policy<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   */<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  @Nullable<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  public String getStoragePolicyName(String familyName) {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    if (this.fs instanceof HFileSystem) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      Path storeDir = getStoreDir(familyName);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      return ((HFileSystem) this.fs).getStoragePolicyName(storeDir);<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>    return null;<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>   * Returns the store files available for the family.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * This methods performs the filtering based on the valid store files.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @param familyName Column Family Name<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @return a set of {@link StoreFileInfo} for the specified family.<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public Collection&lt;StoreFileInfo&gt; getStoreFiles(final byte[] familyName) throws IOException {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return getStoreFiles(Bytes.toString(familyName));<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>  public Collection&lt;StoreFileInfo&gt; getStoreFiles(final String familyName) throws IOException {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    return getStoreFiles(familyName, true);<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>   * Returns the store files available for the family.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * This methods performs the filtering based on the valid store files.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   * @param familyName Column Family Name<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @return a set of {@link StoreFileInfo} for the specified family.<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  public Collection&lt;StoreFileInfo&gt; getStoreFiles(final String familyName, final boolean validate)<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      throws IOException {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    Path familyDir = getStoreDir(familyName);<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    FileStatus[] files = FSUtils.listStatus(this.fs, familyDir);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    if (files == null) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      if (LOG.isTraceEnabled()) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        LOG.trace("No StoreFiles for: " + familyDir);<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      return null;<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>    ArrayList&lt;StoreFileInfo&gt; storeFiles = new ArrayList&lt;&gt;(files.length);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    for (FileStatus status: files) {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      if (validate &amp;&amp; !StoreFileInfo.isValid(status)) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>        LOG.warn("Invalid StoreFile: " + status.getPath());<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        continue;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      }<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      StoreFileInfo info = ServerRegionReplicaUtil.getStoreFileInfo(conf, fs, regionInfo,<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        regionInfoForFs, familyName, status.getPath());<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      storeFiles.add(info);<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 storeFiles;<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>   * Returns the store files' LocatedFileStatus which available for the family.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * This methods performs the filtering based on the valid store files.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @param familyName Column Family Name<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @return a list of store files' LocatedFileStatus for the specified family.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  public static List&lt;LocatedFileStatus&gt; getStoreFilesLocatedStatus(<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      final HRegionFileSystem regionfs, final String familyName,<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      final boolean validate) throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    Path familyDir = regionfs.getStoreDir(familyName);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    List&lt;LocatedFileStatus&gt; locatedFileStatuses = FSUtils.listLocatedStatus(<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        regionfs.getFileSystem(), familyDir);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (locatedFileStatuses == null) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      if (LOG.isTraceEnabled()) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>        LOG.trace("No StoreFiles for: " + familyDir);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      }<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    List&lt;LocatedFileStatus&gt; validStoreFiles = Lists.newArrayList();<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    for (LocatedFileStatus status : locatedFileStatuses) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      if (validate &amp;&amp; !StoreFileInfo.isValid(status)) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        LOG.warn("Invalid StoreFile: " + status.getPath());<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      } else {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        validStoreFiles.add(status);<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>    return validStoreFiles;<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>   * Return Qualified Path of the specified family/file<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   *<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * @param familyName Column Family Name<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * @param fileName File Name<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @return The qualified Path for the specified family/file<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   */<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  Path getStoreFilePath(final String familyName, final String fileName) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    Path familyDir = getStoreDir(familyName);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    return new Path(familyDir, fileName).makeQualified(fs.getUri(), fs.getWorkingDirectory());<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>   * Return the store file information of the specified family/file.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   *<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * @param familyName Column Family Name<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param fileName File Name<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return The {@link StoreFileInfo} for the specified family/file<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  StoreFileInfo getStoreFileInfo(final String familyName, final String fileName)<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      throws IOException {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    Path familyDir = getStoreDir(familyName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    return ServerRegionReplicaUtil.getStoreFileInfo(conf, fs, regionInfo,<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      regionInfoForFs, familyName, new Path(familyDir, fileName));<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>   * Returns true if the specified family has reference files<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @param familyName Column Family Name<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   * @return true if family contains reference files<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @throws IOException<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  public boolean hasReferences(final String familyName) throws IOException {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    Path storeDir = getStoreDir(familyName);<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    FileStatus[] files = FSUtils.listStatus(fs, storeDir);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    if (files != null) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      for(FileStatus stat: files) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if(stat.isDirectory()) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          continue;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        if(StoreFileInfo.isReference(stat.getPath())) {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>          if (LOG.isTraceEnabled()) LOG.trace("Reference " + stat.getPath());<a name="line.328"></a>
-<span class="sourceLineNo">329</span>          return true;<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 false;<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>   * Check whether region has Reference file<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * @param htd table desciptor of the region<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * @return true if region has reference file<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * @throws IOException<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   */<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  public boolean hasReferences(final TableDescriptor htd) throws IOException {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    for (ColumnFamilyDescriptor family : htd.getColumnFamilies()) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      if (hasReferences(family.getNameAsString())) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        return true;<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 false;<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>   * @return the set of families present on disk<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * @throws IOException<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  public Collection&lt;String&gt; getFamilies() throws IOException {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    FileStatus[] fds = FSUtils.listStatus(fs, getRegionDir(), new FSUtils.FamilyDirFilter(fs));<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    if (fds == null) return null;<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>    ArrayList&lt;String&gt; families = new ArrayList&lt;&gt;(fds.length);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    for (FileStatus status: fds) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      families.add(status.getPath().getName());<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>    return families;<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  }<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>   * Remove the region family from disk, archiving the store files.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param familyName Column Family Name<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @throws IOException if an error occours during the archiving<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public void deleteFamily(final String familyName) throws IOException {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    // archive family store files<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    HFileArchiver.archiveFamily(fs, conf, regionInfoForFs, tableDir, Bytes.toBytes(familyName));<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    // delete the family folder<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    Path familyDir = getStoreDir(familyName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    if(fs.exists(familyDir) &amp;&amp; !deleteDir(familyDir))<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      throw new IOException("Could not delete family " + familyName<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          + " from FileSystem for region " + regionInfoForFs.getRegionNameAsString() + "("<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          + regionInfoForFs.getEncodedName() + ")");<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>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Generate a unique file name, used by createTempName() and commitStoreFile()<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * @param suffix extra information to append to the generated name<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * @return Unique file name<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
-<span class="sourceLineNo">389</span>  private static String generateUniqueName(final String suffix) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    String name = UUID.randomUUID().toString().replaceAll("-", "");<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    if (suffix != null) name += suffix;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return name;<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>  /**<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * Generate a unique temporary Path. Used in conjuction with commitStoreFile()<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * to get a safer file creation.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * &lt;code&gt;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * Path file = fs.createTempName();<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * ...StoreFile.Writer(file)...<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * fs.commitStoreFile("family", file);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * &lt;/code&gt;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   *<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @return Unique {@link Path} of the temporary file<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public Path createTempName() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return createTempName(null);<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>   * Generate a unique temporary Path. Used in conjuction with commitStoreFile()<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * to get a safer file creation.<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * &lt;code&gt;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * Path file = fs.createTempName();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * ...StoreFile.Writer(file)...<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * fs.commitStoreFile("family", file);<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * &lt;/code&gt;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   *<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param suffix extra information to append to the generated name<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * @return Unique {@link Path} of the temporary file<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public Path createTempName(final String suffix) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return new Path(getTempDir(), generateUniqueName(suffix));<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>   * Move the file from a build/temp location to the main family store directory.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @param familyName Family that will gain the file<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param buildPath {@link Path} to the file to commit.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @return The new {@link Path} of the committed file<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   * @throws IOException<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public Path commitStoreFile(final String familyName, final Path buildPath) throws IOException {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    Path dstPath = preCommitStoreFile(familyName, buildPath, -1, false);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    return commitStoreFile(buildPath, dstPath);<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>   * Generate the filename in the main family store directory for moving the file from a build/temp<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   *  location.<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * @param familyName Family that will gain the file<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @param buildPath {@link Path} to the file to commit.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * @param seqNum Sequence Number to append to the file name (less then 0 if no sequence number)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * @param generateNewName False if you want to keep the buildPath name<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * @return The new {@link Path} of the to be committed file<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * @throws IOException<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  private Path preCommitStoreFile(final String familyName, final Path buildPath,<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      final long seqNum, final boolean generateNewName) throws IOException {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    Path storeDir = getStoreDir(familyName);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    if(!fs.exists(storeDir) &amp;&amp; !createDir(storeDir))<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      throw new IOException("Failed creating " + storeDir);<a name="line.452"></a>
-<span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>    String name = buildPath.getName();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    if (generateNewName) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      name = generateUniqueName((seqNum &lt; 0) ? null : "_SeqId_" + seqNum + "_");<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    Path dstPath = new Path(storeDir, name);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    if (!fs.exists(buildPath)) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      throw new FileNotFoundException(buildPath.toString());<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    if (LOG.isDebugEnabled()) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      LOG.debug("Committing store file " + buildPath + " as " + dstPath);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    return dstPath;<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>   * Moves file from staging dir to region dir<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * @param buildPath {@link Path} to the file to commit.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * @param dstPath {@link Path} to the file under region dir<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * @return The {@link Path} of the committed file<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   * @throws IOException<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   */<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  Path commitStoreFile(final Path buildPath, Path dstPath) throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    // buildPath exists, therefore not doing an exists() check.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    if (!rename(buildPath, dstPath)) {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      throw new IOException("Failed rename of " + buildPath + " to " + dstPath);<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    }<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    return dstPath;<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>  /**<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * Archives the specified store file from the specified family.<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * @param familyName Family that contains the store files<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param filePath {@link Path} to the store file to remove<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @throws IOException if the archiving fails<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public void removeStoreFile(final String familyName, final Path filePath)<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    HFileArchiver.archiveStoreFile(this.conf, this.fs, this.regionInfoForFs,<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        this.tableDir, Bytes.toBytes(familyName), filePath);<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>   * Closes and archives the specified store files from the specified family.<a name="line.496"></a>
-<span class="sourceLineNo">497</span>   * @param familyName Family that contains the store files<a name="line.497"></a>
-<span class="sourceLineNo">498</span>   * @param storeFiles set of store files to remove<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * @throws IOException if the archiving fails<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   */<a name="line.500"></a>
-<span class="sourceLineNo">501</span>  public void removeStoreFiles(String familyName, Collection&lt;HStoreFile&gt; storeFiles)<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    HFileArchiver.archiveStoreFiles(this.conf, this.fs, this.regionInfoForFs,<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        this.tableDir, Bytes.toBytes(familyName), storeFiles);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  }<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>  /**<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * Bulk load: Add a specified store file to the specified family.<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * If the source file is on the same different file-system is moved from the<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * source location to the destination location, otherwise is copied over.<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   *<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   * @param familyName Family that will gain the file<a name="line.512"></a>
-<span class="sourceLineNo">513</span>   * @param srcPath {@link Path} to the file to import<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * @param seqNum Bulk Load sequence number<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * @return The destination {@link Path} of the bulk loaded file<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * @throws IOException<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  Pair&lt;Path, Path&gt; bulkLoadStoreFile(final String familyName, Path srcPath, long seqNum)<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      throws IOException {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    // Copy the file if it's on another filesystem<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    FileSystem srcFs = srcPath.getFileSystem(conf);<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    srcPath = srcFs.resolvePath(srcPath);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    FileSystem realSrcFs = srcPath.getFileSystem(conf);<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    FileSystem desFs = fs instanceof HFileSystem ? ((HFileSystem)fs).getBackingFs() : fs;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // We can't compare FileSystem instances as equals() includes UGI instance<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    // as part of the comparison and won't work when doing SecureBulkLoad<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    // TODO deal with viewFS<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    if (!FSHDFSUtils.isSameHdfs(conf, realSrcFs, desFs)) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      LOG.info("Bulk-load file " + srcPath + " is on different filesystem than " +<a name="line.530"></a>
-<span class="sourceLineNo">531</span>          "the destination store. Copying file over to destination filesystem.");<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      Path tmpPath = createTempName();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      FileUtil.copy(realSrcFs, srcPath, fs, tmpPath, false, conf);<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      LOG.info("Copied " + srcPath + " to temporary path on destination filesystem: " + tmpPath);<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      srcPath = tmpPath;<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>    return new Pair&lt;&gt;(srcPath, preCommitStoreFile(familyName, srcPath, seqNum, 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>  //  Splits Helpers<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  // ===========================================================================<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  /** @return {@link Path} to the temp directory used during split operations */<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  Path getSplitsDir() {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    return new Path(getRegionDir(), REGION_SPLITS_DIR);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>  }<a name="line.547"></a>
-<span class="sourceLineNo">548</span><a name="line.548"></a>
-<span class="sourceLineNo">549</span>  public Path getSplitsDir(final RegionInfo hri) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    return new Path(getSplitsDir(), hri.getEncodedName());<a name="line.550"></a>
-<span class="sourceLineNo">551</span>  }<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>   * Clean up any split detritus that may have been left around from previous split attempts.<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   */<a name="line.555"></a>
-<span class="sourceLineNo">556</span>  void cleanupSplitsDir() throws IOException {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    deleteDir(getSplitsDir());<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>  /**<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * Clean up any split detritus that may have been left around from previous<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * split attempts.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * Call this method on initial region deploy.<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * @throws IOException<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   */<a name="line.565"></a>
-<span class="sourceLineNo">566</span>  void cleanupAnySplitDetritus() throws IOException {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path splitdir = this.getSplitsDir();<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    if (!fs.exists(splitdir)) return;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    // Look at the splitdir.  It could have the encoded names of the daughter<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    // regions we tried to make.  See if the daughter regions actually got made<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    // out under the tabledir.  If here under splitdir still, then the split did<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    // not complete.  Try and do cleanup.  This code WILL NOT catch the case<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    // where we successfully created daughter a but regionserver crashed during<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    // the creation of region b.  In this case, there'll be an orphan daughter<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // dir in the filesystem.  TOOD: Fix.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    FileStatus[] daughters = FSUtils.listStatus(fs, splitdir, new FSUtils.DirFilter(fs));<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    if (daughters != null) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      for (FileStatus daughter: daughters) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        Path daughterDir = new Path(getTableDir(), daughter.getPath().getName());<a name="line.579"></a>
-<span class="sourceLineNo">580</span>        if (fs.exists(daughterDir) &amp;&amp; !deleteDir(daughterDir)) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>          throw new IOException("Failed delete of " + daughterDir);<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>
-<span class="sourceLineNo">585</span>    cleanupSplitsDir();<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    LOG.info("Cleaned up old failed split transaction detritus: " + splitdir);<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>   * Remove daughter region<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * @param regionInfo daughter {@link RegionInfo}<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @throws IOException<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  void cleanupDaughterRegion(final RegionInfo regionInfo) throws IOException {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    Path regionDir = new Path(this.tableDir, regionInfo.getEncodedName());<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    if (this.fs.exists(regionDir) &amp;&amp; !deleteDir(regionDir)) {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      throw new IOException("Failed delete of " + regionDir);<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><a name="line.600"></a>
-<span class="sourceLineNo">601</span>  /**<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * Commit a daughter region, moving it from the split temporary directory<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * to the proper location in the filesystem.<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   *<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * @param regionInfo daughter {@link org.apache.hadoop.hbase.client.RegionInfo}<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @throws IOException<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   */<a name="line.607"></a>
-<span class="sourceLineNo">608</span>  public Path commitDaughterRegion(final RegionInfo regionInfo)<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      throws IOException {<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    Path regionDir = new Path(this.tableDir, regionInfo.getEncodedName());<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    Path daughterTmpDir = this.getSplitsDir(regionInfo);<a name="line.611"></a>
-<span class="sourceLineNo">612</span><a name="line.612"></a>
-<span class="sourceLineNo">613</span>    if (fs.exists(daughterTmpDir)) {<a name="line.613"></a>
-<span class="sourceLineNo">614</span><a name="line.614"></a>
-<span class="sourceLineNo">615</span>      // Write HRI to a file in case we need to recover hbase:meta<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      Path regionInfoFile = new Path(daughterTmpDir, REGION_INFO_FILE);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      byte[] regionInfoContent = getRegionInfoFileContent(regionInfo);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      writeRegionInfoFileContent(conf, fs, regionInfoFile, regionInfoContent);<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>      // Move the daughter temp dir to the table dir<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      if (!rename(daughterTmpDir, regionDir)) {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        throw new IOException("Unable to rename " + daughterTmpDir + " to " + regionDir);<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>    return regionDir;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  }<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>   * Create the region splits directory.<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   */<a name="line.631"></a>
-<span class="sourceLineNo">632</span>  public void createSplitsDir() throws IOException {<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    Path splitdir = getSplitsDir();<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    if (fs.exists(splitdir)) {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      LOG.info("The " + splitdir + " directory exists.  Hence deleting it to recreate it");<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      if (!deleteDir(splitdir)) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        throw new IOException("Failed deletion of " + splitdir<a name="line.637"></a>
-<span class="sourceLineNo">638</span>            + " before creating them again.");<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>    // splitDir doesn't exists now. No need to do an exists() call for it.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    if (!createDir(splitdir)) {<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      throw new IOException("Failed create of " + splitdir);<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>  /**<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   * Write out a split reference. Package local so it doesnt leak out of<a name="line.648"></a>
-<span class="sourceLineNo">649</span>   * regionserver.<a name="line.649"></a>
-<span class="sourceLineNo">650</span>   * @param hri {@link RegionInfo} of the destination<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   * @param familyName Column Family Name<a name="line.651"></a>
-<span class="sourceLineNo">652</span>   * @param f File to split.<a name="line.652"></a>
-<span class="sourceLineNo">653</span>   * @param splitRow Split Row<a name="line.653"></a>
-<span class="sourceLineNo">654</span>   * @param top True if we are referring to the top half of the hfile.<a name="line.654"></a>
-<span class="sourceLineNo">655</span>   * @param splitPolicy A split policy instance; be careful! May not be full populated; e.g. if<a name="line.655"></a>
-<span class="sourceLineNo">656</span>   *                    this method is invoked on the Master side, then the RegionSplitPolicy will<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   *                    NOT have a reference to a Region.<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * @return Path to created reference.<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   * @throws IOException<a name="line.659"></a>
-<span class="sourceLineNo">660</span>   */<a name="line.660"></a>
-<span class="sourceLineNo">661</span>  public Path splitStoreFile(RegionInfo hri, String familyName, HStoreFile f, byte[] splitRow,<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      boolean top, RegionSplitPolicy splitPolicy) throws IOException {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    if (splitPolicy == null || !splitPolicy.skipStoreFileRangeCheck(familyName)) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      // Check whether the split row lies in the range of the store file<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      // If it is outside the range, return directly.<a name="line.665"></a>
-<span class="sourceLineNo">666</span>      f.initReader();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      try {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        if (top) {<a name="line.668"></a>
-<span class="sourceLineNo">669</span>          //check if larger than last key.<a name="line.669"></a>
-<span class="sourceLineNo">670</span>          Cell splitKey = PrivateCellUtil.createFirstOnRow(splitRow);<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          Optional&lt;Cell&gt; lastKey = f.getLastKey();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>          // If lastKey is null means storefile is empty.<a name="line.672"></a>
-<span class="sourceLineNo">673</span>          if (!lastKey.isPresent()) {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            return null;<a name="line.674"></a>
-<span class="sourceLineNo">675</span>          }<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          if (f.getComparator().compare(splitKey, lastKey.get()) &gt; 0) {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>            return null;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          }<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        } else {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          //check if smaller than first key<a name="line.680"></a>
-<span class="sourceLineNo">681</span>          Cell splitKey = PrivateCellUtil.createLastOnRow(splitRow);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          Optional&lt;Cell&gt; firstKey = f.getFirstKey();<a name="line.682"></a>
-<span class="sourceLineNo">683</span>          // If firstKey is null means storefile is empty.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>          if (!firstKey.isPresent()) {<a name="line.684"></a>
-<span class="sourceLineNo">685</span>            return null;<a name="line.685"></a>
-<span class="sourceLineNo">686</span>          }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>          if (f.getComparator().compare(splitKey, firstKey.get()) &lt; 0) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>            return null;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>          }<a name="line.689"></a>
-<span class="sourceLineNo">690</span>        }<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      } finally {<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        f.closeStoreFile(f.getCacheConf() != null ? f.getCacheConf().shouldEvictOnClose() : true);<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><a name="line.695"></a>
-<span class="sourceLineNo">696</span>    Path splitDir = new Path(getSplitsDir(hri), familyName);<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    // A reference to the bottom half of the hsf store file.<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    Reference r =<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      top ? Reference.createTopReference(splitRow): Reference.createBottomReference(splitRow);<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    // Add the referred-to regions name as a dot separated suffix.<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    // See REF_NAME_REGEX regex above.  The referred-to regions name is<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    // up in the path of the passed in &lt;code&gt;f&lt;/code&gt; -- parentdir is family,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    // then the directory above is the region name.<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    String parentRegionName = regionInfoForFs.getEncodedName();<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    // Write reference with same file id only with the other region name as<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    // suffix and into the new region location (under same family).<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    Path p = new Path(splitDir, f.getPath().getName() + "." + parentRegionName);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    return r.write(fs, p);<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>  //  Merge Helpers<a name="line.712"></a>
-<span class="sourceLineNo">713</span>  // ===========================================================================<a name="line.713"></a>
-<span class="sourceLineNo">714</span>  /** @return {@link Path} to the temp directory used during merge operations */<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  public Path getMergesDir() {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    return new Path(getRegionDir(), REGION_MERGES_DIR);<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>  Path getMergesDir(final RegionInfo hri) {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    return new Path(getMergesDir(), hri.getEncodedName());<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>  /**<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * Clean up any merge detritus that may have been left around from previous merge attempts.<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   */<a name="line.725"></a>
-<span class="sourceLineNo">726</span>  void cleanupMergesDir() throws IOException {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    deleteDir(getMergesDir());<a name="line.727"></a>
-<span class="sourceLineNo">728</span>  }<a name="line.728"></a>
-<span class="sourceLineNo">729</span><a name="line.729"></a>
-<span class="sourceLineNo">730</span>  /**<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   * Remove merged region<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   * @param mergedRegion {@link RegionInfo}<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   * @throws IOException<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   */<a name="line.734"></a>
-<span class="sourceLineNo">735</span>  public void cleanupMergedRegion(final RegionInfo mergedRegion) throws IOException {<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    Path regionDir = new Path(this.tableDir, mergedRegion.getEncodedName());<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    if (this.fs.exists(regionDir) &amp;&amp; !this.fs.delete(regionDir, true)) {<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      throw new IOException("Failed delete of " + regionDir);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    }<a name="line.739"></a>
-<span class="sourceLineNo">740</span>  }<a name="line.740"></a>
-<span class="sourceLineNo">741</span><a name="line.741"></a>
-<span class="sourceLineNo">742</span>  static boolean mkdirs(FileSystem fs, Configuration conf, Path dir) throws IOException {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>    if (FSUtils.isDistributedFileSystem(fs) ||<a name="line.743"></a>
-<span class="sourceLineNo">744</span>        !conf.getBoolean(HConstants.ENABLE_DATA_FILE_UMASK, false)) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      return fs.mkdirs(dir);<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    }<a name="line.746"></a>
-<span class="sourceLineNo">747</span>    FsPermission perms = FSUtils.getFilePermissions(fs, conf, HConstants.DATA_FILE_UMASK_KEY);<a name="line.747"></a>
-<span class="sourceLineNo">748</span>    return fs.mkdirs(dir, perms);<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  /**<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * Create the region merges directory.<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * @throws IOException If merges dir already exists or we fail to create it.<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * @see HRegionFileSystem#cleanupMergesDir()<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   */<a name="line.755"></a>
-<span class="sourceLineNo">756</span>  public void createMergesDir() throws IOException {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>    Path mergesdir = getMergesDir();<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    if (fs.exists(mergesdir)) {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      LOG.info("The " + mergesdir<a name="line.759"></a>
-<span class="sourceLineNo">760</span>          + " directory exists.  Hence deleting it to recreate it");<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      if (!fs.delete(mergesdir, true)) {<a name="line.761"></a>
-<span class="sourceLineNo">762</span>        throw new IOException("Failed deletion of " + mergesdir<a name="line.762"></a>
-<span class="sourceLineNo">763</span>            + " before creating them again.");<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      }<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    }<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    if (!mkdirs(fs, conf, mergesdir))<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      throw new IOException("Failed create of " + mergesdir);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>  }<a name="line.768"></a>
-<span class="sourceLineNo">769</span><a name="line.769"></a>
-<span class="sourceLineNo">770</span>  /**<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * Write out a merge reference under the given merges directory. Package local<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * so it doesnt leak out of regionserver.<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   * @param mergedRegion {@link RegionInfo} of the merged region<a name="line.773"></a>
-<span class="sourceLineNo">774</span>   * @param familyName Column Family Name<a name="line.774"></a>
-<span class="sourceLineNo">775</span>   * @param f File to create reference.<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * @param mergedDir<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   * @return Path to created reference.<a name="line.777"></a>
-<span class="sourceLineNo">778</span>   * @throws IOException<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   */<a name="line.779"></a>
-<span class="sourceLineNo">780</span>  public Path mergeStoreFile(RegionInfo mergedRegion, String familyName, HStoreFile f,<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      Path mergedDir) throws IOException {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    Path referenceDir = new Path(new Path(mergedDir,<a name="line.782"></a>
-<span class="sourceLineNo">783</span>        mergedRegion.getEncodedName()), familyName);<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    // A whole reference to the store file.<a name="line.784"></a>
-<span class="sourceLineNo">785</span>    Reference r = Reference.createTopReference(regionInfoForFs.getStartKey());<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    // Add the referred-to regions name as a dot separated suffix.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    // See REF_NAME_REGEX regex above. The referred-to regions name is<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    // up in the path of the passed in &lt;code&gt;f&lt;/code&gt; -- parentdir is family,<a name="line.788"></a>
-<span class="sourceLineNo">789</span>    // then the directory above is the region name.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    String mergingRegionName = regionInfoForFs.getEncodedName();<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    // Write reference with same file id only with the other region name as<a name="line.791"></a>
-<span class="sourceLineNo">792</span>    // suffix and into the new region location (under same family).<a name="line.792"></a>
-<span class="sourceLineNo">793</span>    Path p = new Path(referenceDir, f.getPath().getName() + "."<a name="line.793"></a>
-<span class="sourceLineNo">794</span>        + mergingRegionName);<a name="line.794"></a>
-<span class="sourceLineNo">795</span>    return r.write(fs, p);<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>  /**<a name="line.798"></a>
-<span class="sourceLineNo">799</span>   * Commit a merged region, moving it from the merges temporary directory to<a name="line.799"></a>
-<span class="sourceLineNo">800</span>   * the proper location in the filesystem.<a name="line.800"></a>
-<span class="sourceLineNo">801</span>   * @param mergedRegionInfo merged region {@link RegionInfo}<a name="line.801"></a>
-<span class="sourceLineNo">802</span>   * @throws IOException<a name="line.802"></a>
-<span class="sourceLineNo">803</span>   */<a name="line.803"></a>
-<span class="sourceLineNo">804</span>  public void commitMergedRegion(final RegionInfo mergedRegionInfo) throws IOException {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>    Path regionDir = new Path(this.tableDir, mergedRegionInfo.getEncodedName());<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    Path mergedRegionTmpDir = this.getMergesDir(mergedRegionInfo);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>    // Move the tmp dir in the expected location<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    if (mergedRegionTmpDir != null &amp;&amp; fs.exists(mergedRegionTmpDir)) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      if (!fs.rename(mergedRegionTmpDir, regionDir)) {<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        throw new IOException("Unable to rename " + mergedRegionTmpDir + " to "<a name="line.810"></a>
-<span class="sourceLineNo">811</span>            + regionDir);<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">8

<TRUNCATED>

[39/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html
index 7571420..a4c566e 100644
--- a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1153">MetaTableAccessor.CloseableVisitor</a>
+<pre>public static interface <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1161">MetaTableAccessor.CloseableVisitor</a>
 extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
 <div class="block">Implementations 'visit' a catalog table row but with close() at the end.</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html
index eb3878c..67a80a2 100644
--- a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1182">MetaTableAccessor.CollectAllVisitor</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1190">MetaTableAccessor.CollectAllVisitor</a>
 extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.CollectingVisitor</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">Collects all returned.</div>
 </li>
@@ -214,7 +214,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Collectin
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CollectAllVisitor</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html#line.1182">CollectAllVisitor</a>()</pre>
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html#line.1190">CollectAllVisitor</a>()</pre>
 </li>
 </ul>
 </li>
@@ -231,7 +231,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Collectin
 <ul class="blockListLast">
 <li class="blockList">
 <h4>add</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html#line.1184">add</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)</pre>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html#line.1192">add</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#add-org.apache.hadoop.hbase.client.Result-">add</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.CollectingVisitor</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;</code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html
index 1111add..21b24a9 100644
--- a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html
@@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1159">MetaTableAccessor.CollectingVisitor</a>&lt;T&gt;
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1167">MetaTableAccessor.CollectingVisitor</a>&lt;T&gt;
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a></pre>
 <div class="block">A <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase"><code>MetaTableAccessor.Visitor</code></a> that collects content out of passed <a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a>.</div>
@@ -221,7 +221,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visito
 <ul class="blockListLast">
 <li class="blockList">
 <h4>results</h4>
-<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="type parameter in MetaTableAccessor.CollectingVisitor">T</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1160">results</a></pre>
+<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="type parameter in MetaTableAccessor.CollectingVisitor">T</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1168">results</a></pre>
 </li>
 </ul>
 </li>
@@ -238,7 +238,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visito
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CollectingVisitor</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1159">CollectingVisitor</a>()</pre>
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1167">CollectingVisitor</a>()</pre>
 </li>
 </ul>
 </li>
@@ -255,7 +255,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visito
 <ul class="blockList">
 <li class="blockList">
 <h4>visit</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1162">visit</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1170">visit</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html#visit-org.apache.hadoop.hbase.client.Result-">MetaTableAccessor.Visitor</a></code></span></div>
 <div class="block">Visit the catalog table row.</div>
@@ -278,7 +278,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visito
 <ul class="blockList">
 <li class="blockList">
 <h4>add</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1168">add</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)</pre>
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1176">add</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)</pre>
 </li>
 </ul>
 <a name="getResults--">
@@ -287,7 +287,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visito
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResults</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="type parameter in MetaTableAccessor.CollectingVisitor">T</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1174">getResults</a>()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="type parameter in MetaTableAccessor.CollectingVisitor">T</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html#line.1182">getResults</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Collected results; wait till visits complete to collect all

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html
index 226a829..a26f0b6 100644
--- a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html
@@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1192">MetaTableAccessor.DefaultVisitorBase</a>
+<pre>public abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1200">MetaTableAccessor.DefaultVisitorBase</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a></pre>
 <div class="block">A Visitor that skips offline regions and split parents</div>
@@ -198,7 +198,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visito
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DefaultVisitorBase</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html#line.1194">DefaultVisitorBase</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html#line.1202">DefaultVisitorBase</a>()</pre>
 </li>
 </ul>
 </li>
@@ -215,7 +215,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visito
 <ul class="blockList">
 <li class="blockList">
 <h4>visitInternal</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html#line.1198">visitInternal</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;rowResult)
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html#line.1206">visitInternal</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;rowResult)
                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -229,7 +229,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visito
 <ul class="blockListLast">
 <li class="blockList">
 <h4>visit</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html#line.1201">visit</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;rowResult)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html#line.1209">visit</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;rowResult)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html#visit-org.apache.hadoop.hbase.client.Result-">MetaTableAccessor.Visitor</a></code></span></div>
 <div class="block">Visit the catalog table row.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html
index 5e03433..0ae35a5 100644
--- a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" target="_top">Frames</a></li>
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public static enum <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.181">MetaTableAccessor.QueryType</a>
+public static enum <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.189">MetaTableAccessor.QueryType</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a>&gt;</pre>
 </li>
 </ul>
@@ -237,7 +237,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>ALL</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.182">ALL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.190">ALL</a></pre>
 </li>
 </ul>
 <a name="REGION">
@@ -246,7 +246,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.183">REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.191">REGION</a></pre>
 </li>
 </ul>
 <a name="TABLE">
@@ -255,7 +255,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TABLE</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.184">TABLE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.192">TABLE</a></pre>
 </li>
 </ul>
 </li>
@@ -272,7 +272,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>families</h4>
-<pre>private final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.186">families</a></pre>
+<pre>private final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.194">families</a></pre>
 </li>
 </ul>
 </li>
@@ -331,7 +331,7 @@ not permitted.)</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getFamilies</h4>
-<pre>byte[][]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.192">getFamilies</a>()</pre>
+<pre>byte[][]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html#line.200">getFamilies</a>()</pre>
 </li>
 </ul>
 </li>
@@ -363,7 +363,7 @@ not permitted.)</div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html
new file mode 100644
index 0000000..397fc34
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MetaTableAccessor.ReplicationBarrierResult (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MetaTableAccessor.ReplicationBarrierResult (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MetaTableAccessor.ReplicationBarrierResult.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" target="_top">Frames</a></li>
+<li><a href="MetaTableAccessor.ReplicationBarrierResult.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase</div>
+<h2 title="Class MetaTableAccessor.ReplicationBarrierResult" class="title">Class MetaTableAccessor.ReplicationBarrierResult</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static final class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1979">MetaTableAccessor.ReplicationBarrierResult</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+</li>
+</ul>
+</div>
+<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>private long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#barriers">barriers</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#parentRegionNames">parentRegionNames</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#state">state</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#ReplicationBarrierResult-long:A-org.apache.hadoop.hbase.master.RegionState.State-java.util.List-">ReplicationBarrierResult</a></span>(long[]&nbsp;barriers,
+                        <a href="../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;parentRegionNames)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#getBarriers--">getBarriers</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#getParentRegionNames--">getParentRegionNames</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#getState--">getState</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="barriers">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>barriers</h4>
+<pre>private final&nbsp;long[] <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#line.1980">barriers</a></pre>
+</li>
+</ul>
+<a name="state">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>state</h4>
+<pre>private final&nbsp;<a href="../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#line.1981">state</a></pre>
+</li>
+</ul>
+<a name="parentRegionNames">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>parentRegionNames</h4>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#line.1982">parentRegionNames</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ReplicationBarrierResult-long:A-org.apache.hadoop.hbase.master.RegionState.State-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReplicationBarrierResult</h4>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#line.1984">ReplicationBarrierResult</a>(long[]&nbsp;barriers,
+                                <a href="../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
+                                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;parentRegionNames)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getBarriers--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBarriers</h4>
+<pre>public&nbsp;long[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#line.1990">getBarriers</a>()</pre>
+</li>
+</ul>
+<a name="getState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#line.1994">getState</a>()</pre>
+</li>
+</ul>
+<a name="getParentRegionNames--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getParentRegionNames</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#line.1998">getParentRegionNames</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MetaTableAccessor.ReplicationBarrierResult.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" target="_top">Frames</a></li>
+<li><a href="MetaTableAccessor.ReplicationBarrierResult.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html
index 5222539..e6be07d 100644
--- a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1221">MetaTableAccessor.TableVisitorBase</a>
+<pre>public abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1229">MetaTableAccessor.TableVisitorBase</a>
 extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.DefaultVisitorBase</a></pre>
 <div class="block">A Visitor for a table. Provides a consistent view of the table's
  hbase:meta entries during concurrent splits (see HBASE-5986 for details). This class
@@ -223,7 +223,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.DefaultVi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>tableName</h4>
-<pre>private&nbsp;<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html#line.1222">tableName</a></pre>
+<pre>private&nbsp;<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html#line.1230">tableName</a></pre>
 </li>
 </ul>
 </li>
@@ -240,7 +240,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.DefaultVi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TableVisitorBase</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html#line.1224">TableVisitorBase</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html#line.1232">TableVisitorBase</a>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
 </li>
@@ -257,7 +257,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.DefaultVi
 <ul class="blockListLast">
 <li class="blockList">
 <h4>visit</h4>
-<pre>public final&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html#line.1230">visit</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;rowResult)
+<pre>public final&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html#line.1238">visit</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;rowResult)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html#visit-org.apache.hadoop.hbase.client.Result-">MetaTableAccessor.Visitor</a></code></span></div>
 <div class="block">Visit the catalog table row.</div>
@@ -304,7 +304,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.DefaultVi
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html
index 934176f..8f99ae3 100644
--- a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1140">MetaTableAccessor.Visitor</a></pre>
+<pre>public static interface <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.1148">MetaTableAccessor.Visitor</a></pre>
 <div class="block">Implementations 'visit' a catalog table row.</div>
 </li>
 </ul>
@@ -160,7 +160,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>visit</h4>
-<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html#line.1147">visit</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)
+<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html#line.1155">visit</a>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)
        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Visit the catalog table row.</div>
 <dl>


[43/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 8ea234b..ea6ab21 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,8 +25,8 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2018 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 3570,
-             Errors: 16212,
+      <title>File: 3574,
+             Errors: 16184,
              Warnings: 0,
              Infos: 0
       </title>
@@ -20556,6 +20556,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch.java">org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.snapshot.TestMobFlushSnapshotFromClient.java">org/apache/hadoop/hbase/snapshot/TestMobFlushSnapshotFromClient.java</a>
                 </td>
                 <td>
@@ -21951,7 +21965,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  18
+                  17
                 </td>
               </tr>
                           <tr>
@@ -28181,7 +28195,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  64
+                  61
                 </td>
               </tr>
                           <tr>
@@ -30127,7 +30141,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  3
+                  0
                 </td>
               </tr>
                           <tr>
@@ -31471,7 +31485,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  2
+                  0
                 </td>
               </tr>
                           <tr>
@@ -32073,7 +32087,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  6
+                  3
                 </td>
               </tr>
                           <tr>
@@ -33585,7 +33599,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  4
+                  1
                 </td>
               </tr>
                           <tr>
@@ -40002,6 +40016,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.replication.regionserver.TestSerialReplicationChecker.java">org/apache/hadoop/hbase/replication/regionserver/TestSerialReplicationChecker.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.YouAreDeadException.java">org/apache/hadoop/hbase/YouAreDeadException.java</a>
                 </td>
                 <td>
@@ -42592,6 +42620,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.replication.TestSerialReplication.java">org/apache/hadoop/hbase/replication/TestSerialReplication.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.regionserver.wal.WALCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.java</a>
                 </td>
                 <td>
@@ -44127,7 +44169,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  38
+                  36
                 </td>
               </tr>
                           <tr>
@@ -44692,6 +44734,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker.java">org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.procedure.ProcedureManagerHost.java">org/apache/hadoop/hbase/procedure/ProcedureManagerHost.java</a>
                 </td>
                 <td>
@@ -49097,7 +49153,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  11
+                  0
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index d1eefef..52675e1 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -368,7 +368,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-03-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-03-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 63f4d60..7a630c8 100644
--- a/cygwin.html
+++ b/cygwin.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Installing Apache HBase (TM) on Windows using Cygwin</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -667,7 +667,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-03-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-03-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 5468145..364ee30 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -433,7 +433,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-03-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-03-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index c0394b4..0b7a7d8 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -1023,7 +1023,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-03-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-03-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 2bac4d6..d20b4b8 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -306,7 +306,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-03-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-03-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index a3f3605..41eaa11 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -968,7 +968,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-03-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-03-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index de7c90f..630805b 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -1442,6 +1442,7 @@
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.CollectingVisitor</a></li>
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.DefaultVisitorBase</a></li>
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.QueryType</a></li>
+<li><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.ReplicationBarrierResult</a></li>
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.TableVisitorBase</a></li>
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase" target="classFrame"><span class="interfaceName">MetaTableAccessor.Visitor</span></a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper" target="classFrame">MetaTableLocator</a></li>
@@ -2144,7 +2145,6 @@
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSourceShipper.WorkerState</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSourceWALActionListener</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSourceWALReader</a></li>
-<li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSourceWALReader.WALEntryBatch</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/ReplicationStorageFactory.html" title="class in org.apache.hadoop.hbase.replication" target="classFrame">ReplicationStorageFactory</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSyncUp</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationThrottler</a></li>
@@ -2371,6 +2371,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/SequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">SequenceId</span></a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">SequenceIdAccounting</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure2/SequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2" target="classFrame">SequentialProcedure</a></li>
+<li><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">SerialReplicationChecker</a></li>
 <li><a href="org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase" target="classFrame"><span class="interfaceName">Server</span></a></li>
 <li><a href="org/apache/hadoop/hbase/master/balancer/ServerAndLoad.html" title="class in org.apache.hadoop.hbase.master.balancer" target="classFrame">ServerAndLoad</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerCall.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">ServerCall</a></li>
@@ -2840,6 +2841,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">WALCoprocessorHost</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.WALEnvironment.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">WALCoprocessorHost.WALEnvironment</a></li>
 <li><a href="org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal" target="classFrame">WALEdit</a></li>
+<li><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">WALEntryBatch</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/WALEntryFilter.html" title="interface in org.apache.hadoop.hbase.replication" target="classFrame"><span class="interfaceName">WALEntryFilter</span></a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html" title="interface in org.apache.hadoop.hbase.replication.regionserver" target="classFrame"><span class="interfaceName">WALEntrySinkFilter</span></a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">WALEntryStream</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 3b1f81a..ed11ab3 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -1442,6 +1442,7 @@
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.CollectingVisitor</a></li>
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.DefaultVisitorBase</a></li>
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a></li>
+<li><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></li>
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.TableVisitorBase</a></li>
 <li><a href="org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase"><span class="interfaceName">MetaTableAccessor.Visitor</span></a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper">MetaTableLocator</a></li>
@@ -2144,7 +2145,6 @@
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALActionListener</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></li>
-<li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/ReplicationStorageFactory.html" title="class in org.apache.hadoop.hbase.replication">ReplicationStorageFactory</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSyncUp</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationThrottler</a></li>
@@ -2371,6 +2371,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/SequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="interfaceName">SequenceId</span></a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SequenceIdAccounting</a></li>
 <li><a href="org/apache/hadoop/hbase/procedure2/SequentialProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">SequentialProcedure</a></li>
+<li><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></li>
 <li><a href="org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase"><span class="interfaceName">Server</span></a></li>
 <li><a href="org/apache/hadoop/hbase/master/balancer/ServerAndLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">ServerAndLoad</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/ServerCall.html" title="class in org.apache.hadoop.hbase.ipc">ServerCall</a></li>
@@ -2840,6 +2841,7 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.WALEnvironment.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost.WALEnvironment</a></li>
 <li><a href="org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a></li>
+<li><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/WALEntryFilter.html" title="interface in org.apache.hadoop.hbase.replication"><span class="interfaceName">WALEntryFilter</span></a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="interfaceName">WALEntrySinkFilter</span></a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 927a7d1..495cdfc 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -2312,68 +2312,82 @@
 <td class="colLast"><code>6</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_BARRIER_FAMILY_STR">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY_STR">REPLICATION_BARRIER_FAMILY_STR</a></code></td>
+<td class="colLast"><code>"rep_barrier"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_BULKLOAD_ENABLE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_DEFAULT">REPLICATION_BULKLOAD_ENABLE_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_BULKLOAD_ENABLE_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_KEY">REPLICATION_BULKLOAD_ENABLE_KEY</a></code></td>
 <td class="colLast"><code>"hbase.replication.bulkload.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_CLUSTER_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_CLUSTER_ID">REPLICATION_CLUSTER_ID</a></code></td>
 <td class="colLast"><code>"hbase.replication.cluster.id"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_CODEC_CONF_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_CODEC_CONF_KEY">REPLICATION_CODEC_CONF_KEY</a></code></td>
 <td class="colLast"><code>"hbase.replication.rpc.codec"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_CONF_DIR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_CONF_DIR">REPLICATION_CONF_DIR</a></code></td>
 <td class="colLast"><code>"hbase.replication.conf.dir"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_DROP_ON_DELETED_TABLE_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_DROP_ON_DELETED_TABLE_KEY">REPLICATION_DROP_ON_DELETED_TABLE_KEY</a></code></td>
 <td class="colLast"><code>"hbase.replication.drop.on.deleted.table"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_QOS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_QOS">REPLICATION_QOS</a></code></td>
 <td class="colLast"><code>5</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_GLOBAL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_GLOBAL">REPLICATION_SCOPE_GLOBAL</a></code></td>
 <td class="colLast"><code>1</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_LOCAL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_LOCAL">REPLICATION_SCOPE_LOCAL</a></code></td>
 <td class="colLast"><code>0</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_SERIAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_SERIAL">REPLICATION_SCOPE_SERIAL</a></code></td>
+<td class="colLast"><code>2</code></td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT">
 <!--   -->
@@ -3182,6 +3196,20 @@
 <td><code><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#META_REPLICA_ID_DELIMITER">META_REPLICA_ID_DELIMITER</a></code></td>
 <td class="colLast"><code>95</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.MetaTableAccessor.REPLICATION_PARENT_SEPARATOR">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#REPLICATION_PARENT_SEPARATOR">REPLICATION_PARENT_SEPARATOR</a></code></td>
+<td class="colLast"><code>"|"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.MetaTableAccessor.REPLICATION_PARENT_SEPARATOR_REGEX">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#REPLICATION_PARENT_SEPARATOR_REGEX">REPLICATION_PARENT_SEPARATOR_REGEX</a></code></td>
+<td class="colLast"><code>"\\|"</code></td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -3719,21 +3747,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sun Mar  4 05:45:33 UTC 2018"</code></td>
+<td class="colLast"><code>"Mon Mar  5 14:41:23 UTC 2018"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"485af49e53cb38e2af4635f2c3bc0b33e15ba0a1"</code></td>
+<td class="colLast"><code>"b7b86839250bf9b295ebc1948826f43a88736d6c"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"ae056300970e553626dc6912e61066bd"</code></td>
+<td class="colLast"><code>"a96590ff72b740efcf08fb6bef3bd5d5"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -23186,6 +23214,32 @@
 </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.replication.regionserver.org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker</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.replication.regionserver.SerialReplicationChecker.REPLICATION_SERIALLY_WAITING_DEFAULT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#REPLICATION_SERIALLY_WAITING_DEFAULT">REPLICATION_SERIALLY_WAITING_DEFAULT</a></code></td>
+<td class="colLast"><code>10000L</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker.REPLICATION_SERIALLY_WAITING_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#REPLICATION_SERIALLY_WAITING_KEY">REPLICATION_SERIALLY_WAITING_KEY</a></code></td>
+<td class="colLast"><code>"hbase.serial.replication.waiting.ms"</code></td>
+</tr>
+</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.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALEntrySinkFilter</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>


[47/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html b/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
index e828a9b..a99f492 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
@@ -495,841 +495,853 @@
 <span class="sourceLineNo">487</span>  /** The serialized table state qualifier */<a name="line.487"></a>
 <span class="sourceLineNo">488</span>  public static final byte[] TABLE_STATE_QUALIFIER = Bytes.toBytes("state");<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>   * The meta table version column qualifier.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * We keep current version of the meta table in this column in &lt;code&gt;-ROOT-&lt;/code&gt;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * table: i.e. in the 'info:v' column.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   */<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v");<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  /**<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * The current version of the meta table.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   * - pre-hbase 0.92.  There is no META_VERSION column in the root table<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * in this case. The meta has HTableDescriptor serialized into the HRegionInfo;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * - version 0 is 0.92 and 0.94. Meta data has serialized HRegionInfo's using<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Writable serialization, and HRegionInfo's does not contain HTableDescriptors.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * - version 1 for 0.96+ keeps HRegionInfo data structures, but changes the<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * byte[] serialization from Writables to Protobuf.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * See HRegionInfo.VERSION<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  public static final short META_VERSION = 1;<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  // Other constants<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>   * An empty instance.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  public static final byte [] EMPTY_BYTE_ARRAY = new byte [0];<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>  public static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.wrap(EMPTY_BYTE_ARRAY);<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>   * Used by scanners, etc when they want to start at the beginning of a region<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  public static final byte [] EMPTY_START_ROW = EMPTY_BYTE_ARRAY;<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>   * Last row in a table.<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public static final byte [] EMPTY_END_ROW = EMPTY_START_ROW;<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>    * Used by scanners and others when they're trying to detect the end of a<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    * table<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  public static final byte [] LAST_ROW = EMPTY_BYTE_ARRAY;<a name="line.533"></a>
+<span class="sourceLineNo">490</span>  /** The replication barrier family as a string*/<a name="line.490"></a>
+<span class="sourceLineNo">491</span>  public static final String REPLICATION_BARRIER_FAMILY_STR = "rep_barrier";<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>  /** The replication barrier family */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  public static final byte[] REPLICATION_BARRIER_FAMILY =<a name="line.494"></a>
+<span class="sourceLineNo">495</span>      Bytes.toBytes(REPLICATION_BARRIER_FAMILY_STR);<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>   * The meta table version column qualifier.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * We keep current version of the meta table in this column in &lt;code&gt;-ROOT-&lt;/code&gt;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * table: i.e. in the 'info:v' column.<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   */<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v");<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>  /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * The current version of the meta table.<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * - pre-hbase 0.92.  There is no META_VERSION column in the root table<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   * in this case. The meta has HTableDescriptor serialized into the HRegionInfo;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>   * - version 0 is 0.92 and 0.94. Meta data has serialized HRegionInfo's using<a name="line.508"></a>
+<span class="sourceLineNo">509</span>   * Writable serialization, and HRegionInfo's does not contain HTableDescriptors.<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   * - version 1 for 0.96+ keeps HRegionInfo data structures, but changes the<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   * byte[] serialization from Writables to Protobuf.<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   * See HRegionInfo.VERSION<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   */<a name="line.513"></a>
+<span class="sourceLineNo">514</span>  public static final short META_VERSION = 1;<a name="line.514"></a>
+<span class="sourceLineNo">515</span><a name="line.515"></a>
+<span class="sourceLineNo">516</span>  // Other constants<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>   * An empty instance.<a name="line.519"></a>
+<span class="sourceLineNo">520</span>   */<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  public static final byte [] EMPTY_BYTE_ARRAY = new byte [0];<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  public static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.wrap(EMPTY_BYTE_ARRAY);<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>   * Used by scanners, etc when they want to start at the beginning of a region<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   */<a name="line.527"></a>
+<span class="sourceLineNo">528</span>  public static final byte [] EMPTY_START_ROW = EMPTY_BYTE_ARRAY;<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>   * Last row in a table.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
+<span class="sourceLineNo">533</span>  public static final byte [] EMPTY_END_ROW = EMPTY_START_ROW;<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>   * Max length a row can have because of the limitation in TFile.<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   */<a name="line.537"></a>
-<span class="sourceLineNo">538</span>  public static final int MAX_ROW_LENGTH = Short.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the latest cell.<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   *<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   * On client side, this is the timestamp set by default when no timestamp is specified,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>   * to refer to the latest.<a name="line.544"></a>
-<span class="sourceLineNo">545</span>   * On server side, this acts as a notation.<a name="line.545"></a>
-<span class="sourceLineNo">546</span>   * (1) For a cell of Put, which has this notation,<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   *     its timestamp will be replaced with server's current time.<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * (2) For a cell of Delete, which has this notation,<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   *     A. If the cell is of {@link KeyValue.Type#Delete}, HBase issues a Get operation firstly.<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   *        a. When the count of cell it gets is less than the count of cell to delete,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *           the timestamp of Delete cell will be replaced with server's current time.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   *        b. When the count of cell it gets is equal to the count of cell to delete,<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   *           the timestamp of Delete cell will be replaced with the latest timestamp of cell it<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *           gets.<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   *       (c. It is invalid and an exception will be thrown,<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   *           if the count of cell it gets is greater than the count of cell to delete,<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *           as the max version of Get is set to the count of cell to delete.)<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   *     B. If the cell is of other Delete types, like {@link KeyValue.Type#DeleteFamilyVersion},<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   *        {@link KeyValue.Type#DeleteColumn}, or {@link KeyValue.Type#DeleteFamily},<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   *        the timestamp of Delete cell will be replaced with server's current time.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   *<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * So that is why it is named as "latest" but assigned as the max value of Long.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   */<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  public static final long LATEST_TIMESTAMP = Long.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the oldest cell.<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * Special! Used in fake Cells only. Should never be the timestamp on an actual Cell returned to<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * a client.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @deprecated Should not be public since hbase-1.3.0. For internal use only. Move internal to<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   *   Scanners flagged as special timestamp value never to be returned as timestamp on a Cell.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  @Deprecated<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public static final long OLDEST_TIMESTAMP = Long.MIN_VALUE;<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>   * LATEST_TIMESTAMP in bytes form<a name="line.577"></a>
+<span class="sourceLineNo">536</span>    * Used by scanners and others when they're trying to detect the end of a<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    * table<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    */<a name="line.538"></a>
+<span class="sourceLineNo">539</span>  public static final byte [] LAST_ROW = EMPTY_BYTE_ARRAY;<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>   * Max length a row can have because of the limitation in TFile.<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   */<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  public static final int MAX_ROW_LENGTH = Short.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the latest cell.<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   *<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * On client side, this is the timestamp set by default when no timestamp is specified,<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * to refer to the latest.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * On server side, this acts as a notation.<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * (1) For a cell of Put, which has this notation,<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   *     its timestamp will be replaced with server's current time.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   * (2) For a cell of Delete, which has this notation,<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   *     A. If the cell is of {@link KeyValue.Type#Delete}, HBase issues a Get operation firstly.<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   *        a. When the count of cell it gets is less than the count of cell to delete,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *           the timestamp of Delete cell will be replaced with server's current time.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   *        b. When the count of cell it gets is equal to the count of cell to delete,<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   *           the timestamp of Delete cell will be replaced with the latest timestamp of cell it<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *           gets.<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   *       (c. It is invalid and an exception will be thrown,<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   *           if the count of cell it gets is greater than the count of cell to delete,<a name="line.562"></a>
+<span class="sourceLineNo">563</span>   *           as the max version of Get is set to the count of cell to delete.)<a name="line.563"></a>
+<span class="sourceLineNo">564</span>   *     B. If the cell is of other Delete types, like {@link KeyValue.Type#DeleteFamilyVersion},<a name="line.564"></a>
+<span class="sourceLineNo">565</span>   *        {@link KeyValue.Type#DeleteColumn}, or {@link KeyValue.Type#DeleteFamily},<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   *        the timestamp of Delete cell will be replaced with server's current time.<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * So that is why it is named as "latest" but assigned as the max value of Long.<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   */<a name="line.569"></a>
+<span class="sourceLineNo">570</span>  public static final long LATEST_TIMESTAMP = Long.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the oldest cell.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * Special! Used in fake Cells only. Should never be the timestamp on an actual Cell returned to<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a client.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * @deprecated Should not be public since hbase-1.3.0. For internal use only. Move internal to<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   *   Scanners flagged as special timestamp value never to be returned as timestamp on a Cell.<a name="line.577"></a>
 <span class="sourceLineNo">578</span>   */<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public static final byte [] LATEST_TIMESTAMP_BYTES = {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    // big-endian<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 56),<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 48),<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 40),<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 32),<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 24),<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 16),<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 8),<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    (byte) LATEST_TIMESTAMP,<a name="line.588"></a>
-<span class="sourceLineNo">589</span>  };<a name="line.589"></a>
-<span class="sourceLineNo">590</span><a name="line.590"></a>
-<span class="sourceLineNo">591</span>  /**<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * Define for 'return-all-versions'.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public static final int ALL_VERSIONS = Integer.MAX_VALUE;<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>   * Unlimited time-to-live.<a name="line.597"></a>
-<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
-<span class="sourceLineNo">599</span>//  public static final int FOREVER = -1;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  public static final int FOREVER = Integer.MAX_VALUE;<a name="line.600"></a>
+<span class="sourceLineNo">579</span>  @Deprecated<a name="line.579"></a>
+<span class="sourceLineNo">580</span>  public static final long OLDEST_TIMESTAMP = Long.MIN_VALUE;<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>   * LATEST_TIMESTAMP in bytes form<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   */<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  public static final byte [] LATEST_TIMESTAMP_BYTES = {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    // big-endian<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 56),<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 48),<a name="line.588"></a>
+<span class="sourceLineNo">589</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 40),<a name="line.589"></a>
+<span class="sourceLineNo">590</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 32),<a name="line.590"></a>
+<span class="sourceLineNo">591</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 24),<a name="line.591"></a>
+<span class="sourceLineNo">592</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 16),<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 8),<a name="line.593"></a>
+<span class="sourceLineNo">594</span>    (byte) LATEST_TIMESTAMP,<a name="line.594"></a>
+<span class="sourceLineNo">595</span>  };<a name="line.595"></a>
+<span class="sourceLineNo">596</span><a name="line.596"></a>
+<span class="sourceLineNo">597</span>  /**<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * Define for 'return-all-versions'.<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   */<a name="line.599"></a>
+<span class="sourceLineNo">600</span>  public static final int ALL_VERSIONS = Integer.MAX_VALUE;<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>   * Seconds in a day, hour and minute<a name="line.603"></a>
+<span class="sourceLineNo">603</span>   * Unlimited time-to-live.<a name="line.603"></a>
 <span class="sourceLineNo">604</span>   */<a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public static final int DAY_IN_SECONDS = 24 * 60 * 60;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>  public static final int HOUR_IN_SECONDS = 60 * 60;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  public static final int MINUTE_IN_SECONDS = 60;<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>  //TODO: although the following are referenced widely to format strings for<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  //      the shell. They really aren't a part of the public API. It would be<a name="line.610"></a>
-<span class="sourceLineNo">611</span>  //      nice if we could put them somewhere where they did not need to be<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  //      public. They could have package visibility<a name="line.612"></a>
-<span class="sourceLineNo">613</span>  public static final String NAME = "NAME";<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  public static final String VERSIONS = "VERSIONS";<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  public static final String IN_MEMORY = "IN_MEMORY";<a name="line.615"></a>
-<span class="sourceLineNo">616</span>  public static final String METADATA = "METADATA";<a name="line.616"></a>
-<span class="sourceLineNo">617</span>  public static final String CONFIGURATION = "CONFIGURATION";<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>   * Retrying we multiply hbase.client.pause setting by what we have in this array until we<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * run out of array items.  Retries beyond this use the last number in the array.  So, for<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   * example, if hbase.client.pause is 1 second, and maximum retries count<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   * hbase.client.retries.number is 10, we will retry at the following intervals:<a name="line.623"></a>
-<span class="sourceLineNo">624</span>   * 1, 2, 3, 5, 10, 20, 40, 100, 100, 100.<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   * With 100ms, a back-off of 200 means 20s<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   */<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  public static final int [] RETRY_BACKOFF = {1, 2, 3, 5, 10, 20, 40, 100, 100, 100, 100, 200, 200};<a name="line.627"></a>
-<span class="sourceLineNo">628</span><a name="line.628"></a>
-<span class="sourceLineNo">629</span>  public static final String REGION_IMPL = "hbase.hregion.impl";<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>   * Scope tag for locally scoped data.<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * This data will not be replicated.<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   */<a name="line.634"></a>
-<span class="sourceLineNo">635</span>  public static final int REPLICATION_SCOPE_LOCAL = 0;<a name="line.635"></a>
+<span class="sourceLineNo">605</span>//  public static final int FOREVER = -1;<a name="line.605"></a>
+<span class="sourceLineNo">606</span>  public static final int FOREVER = Integer.MAX_VALUE;<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>   * Seconds in a day, hour and minute<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   */<a name="line.610"></a>
+<span class="sourceLineNo">611</span>  public static final int DAY_IN_SECONDS = 24 * 60 * 60;<a name="line.611"></a>
+<span class="sourceLineNo">612</span>  public static final int HOUR_IN_SECONDS = 60 * 60;<a name="line.612"></a>
+<span class="sourceLineNo">613</span>  public static final int MINUTE_IN_SECONDS = 60;<a name="line.613"></a>
+<span class="sourceLineNo">614</span><a name="line.614"></a>
+<span class="sourceLineNo">615</span>  //TODO: although the following are referenced widely to format strings for<a name="line.615"></a>
+<span class="sourceLineNo">616</span>  //      the shell. They really aren't a part of the public API. It would be<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  //      nice if we could put them somewhere where they did not need to be<a name="line.617"></a>
+<span class="sourceLineNo">618</span>  //      public. They could have package visibility<a name="line.618"></a>
+<span class="sourceLineNo">619</span>  public static final String NAME = "NAME";<a name="line.619"></a>
+<span class="sourceLineNo">620</span>  public static final String VERSIONS = "VERSIONS";<a name="line.620"></a>
+<span class="sourceLineNo">621</span>  public static final String IN_MEMORY = "IN_MEMORY";<a name="line.621"></a>
+<span class="sourceLineNo">622</span>  public static final String METADATA = "METADATA";<a name="line.622"></a>
+<span class="sourceLineNo">623</span>  public static final String CONFIGURATION = "CONFIGURATION";<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>   * Retrying we multiply hbase.client.pause setting by what we have in this array until we<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   * run out of array items.  Retries beyond this use the last number in the array.  So, for<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   * example, if hbase.client.pause is 1 second, and maximum retries count<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   * hbase.client.retries.number is 10, we will retry at the following intervals:<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * 1, 2, 3, 5, 10, 20, 40, 100, 100, 100.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   * With 100ms, a back-off of 200 means 20s<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
+<span class="sourceLineNo">633</span>  public static final int [] RETRY_BACKOFF = {1, 2, 3, 5, 10, 20, 40, 100, 100, 100, 100, 200, 200};<a name="line.633"></a>
+<span class="sourceLineNo">634</span><a name="line.634"></a>
+<span class="sourceLineNo">635</span>  public static final String REGION_IMPL = "hbase.hregion.impl";<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>   * Scope tag for globally scoped data.<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * This data will be replicated to all peers.<a name="line.639"></a>
+<span class="sourceLineNo">638</span>   * Scope tag for locally scoped data.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>   * This data will not be replicated.<a name="line.639"></a>
 <span class="sourceLineNo">640</span>   */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  public static final int REPLICATION_SCOPE_GLOBAL = 1;<a name="line.641"></a>
+<span class="sourceLineNo">641</span>  public static final int REPLICATION_SCOPE_LOCAL = 0;<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
 <span class="sourceLineNo">643</span>  /**<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * Default cluster ID, cannot be used to identify a cluster so a key with<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * this value means it wasn't meant for replication.<a name="line.645"></a>
+<span class="sourceLineNo">644</span>   * Scope tag for globally scoped data.<a name="line.644"></a>
+<span class="sourceLineNo">645</span>   * This data will be replicated to all peers.<a name="line.645"></a>
 <span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);<a name="line.647"></a>
+<span class="sourceLineNo">647</span>  public static final int REPLICATION_SCOPE_GLOBAL = 1;<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   * Controlled by the client.<a name="line.651"></a>
+<span class="sourceLineNo">650</span>   * Scope tag for serially scoped data<a name="line.650"></a>
+<span class="sourceLineNo">651</span>   * This data will be replicated to all peers by the order of sequence id.<a name="line.651"></a>
 <span class="sourceLineNo">652</span>   */<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  public static final String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      "hbase.client.scanner.max.result.size";<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * Controlled by the server.<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  public static final String HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      "hbase.server.scanner.max.result.size";<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   * Note that when a single row is larger than this limit the row is still<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   * returned completely.<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   *<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * The default value is 2MB.<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   */<a name="line.669"></a>
-<span class="sourceLineNo">670</span>  public static final long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = 2 * 1024 * 1024;<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * Note that when a single row is larger than this limit the row is still<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   * returned completely.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   * Safety setting to protect the region server.<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   *<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * The default value is 100MB. (a client would rarely request larger chunks on purpose)<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   */<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  public static final long DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE = 100 * 1024 * 1024;<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>   * Parameter name for client pause value, used mostly as value to wait<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * before running a retry of a failed get, region lookup, etc.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  public static final String HBASE_CLIENT_PAUSE = "hbase.client.pause";<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>   * Default value of {@link #HBASE_CLIENT_PAUSE}.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   */<a name="line.690"></a>
-<span class="sourceLineNo">691</span>  public static final long DEFAULT_HBASE_CLIENT_PAUSE = 100;<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>   * Parameter name for client pause value for special case such as call queue too big, etc.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   */<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  public static final String HBASE_CLIENT_PAUSE_FOR_CQTBE = "hbase.client.pause.cqtbe";<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>   * The maximum number of concurrent connections the client will maintain.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static final String HBASE_CLIENT_MAX_TOTAL_TASKS = "hbase.client.max.total.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_TOTAL_TASKS}.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   */<a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS = 100;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * RegionServer.<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   */<a name="line.711"></a>
-<span class="sourceLineNo">712</span>  public static final String HBASE_CLIENT_MAX_PERSERVER_TASKS = "hbase.client.max.perserver.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERSERVER_TASKS}.<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   */<a name="line.716"></a>
-<span class="sourceLineNo">717</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS = 2;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * Region.<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   */<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  public static final String HBASE_CLIENT_MAX_PERREGION_TASKS = "hbase.client.max.perregion.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERREGION_TASKS}.<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   */<a name="line.727"></a>
-<span class="sourceLineNo">728</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS = 1;<a name="line.728"></a>
-<span class="sourceLineNo">729</span><a name="line.729"></a>
-<span class="sourceLineNo">730</span>  /**<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   * The maximum number of concurrent pending RPC requests for one server in process level.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   */<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  public static final String HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD =<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      "hbase.client.perserver.requests.threshold";<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>  /**<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * Default value of {@link #HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD}.<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   */<a name="line.738"></a>
-<span class="sourceLineNo">739</span>  public static final int DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD = Integer.MAX_VALUE;<a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
+<span class="sourceLineNo">653</span>  public static final int REPLICATION_SCOPE_SERIAL = 2;<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>   * Default cluster ID, cannot be used to identify a cluster so a key with<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * this value means it wasn't meant for replication.<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.662"></a>
+<span class="sourceLineNo">663</span>   * Controlled by the client.<a name="line.663"></a>
+<span class="sourceLineNo">664</span>   */<a name="line.664"></a>
+<span class="sourceLineNo">665</span>  public static final String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      "hbase.client.scanner.max.result.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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.669"></a>
+<span class="sourceLineNo">670</span>   * Controlled by the server.<a name="line.670"></a>
+<span class="sourceLineNo">671</span>   */<a name="line.671"></a>
+<span class="sourceLineNo">672</span>  public static final String HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      "hbase.server.scanner.max.result.size";<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.676"></a>
+<span class="sourceLineNo">677</span>   * Note that when a single row is larger than this limit the row is still<a name="line.677"></a>
+<span class="sourceLineNo">678</span>   * returned completely.<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   *<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   * The default value is 2MB.<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   */<a name="line.681"></a>
+<span class="sourceLineNo">682</span>  public static final long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = 2 * 1024 * 1024;<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Note that when a single row is larger than this limit the row is still<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * returned completely.<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * Safety setting to protect the region server.<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   *<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * The default value is 100MB. (a client would rarely request larger chunks on purpose)<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   */<a name="line.691"></a>
+<span class="sourceLineNo">692</span>  public static final long DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE = 100 * 1024 * 1024;<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>   * Parameter name for client pause value, used mostly as value to wait<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * before running a retry of a failed get, region lookup, etc.<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   */<a name="line.697"></a>
+<span class="sourceLineNo">698</span>  public static final String HBASE_CLIENT_PAUSE = "hbase.client.pause";<a name="line.698"></a>
+<span class="sourceLineNo">699</span><a name="line.699"></a>
+<span class="sourceLineNo">700</span>  /**<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   * Default value of {@link #HBASE_CLIENT_PAUSE}.<a name="line.701"></a>
+<span class="sourceLineNo">702</span>   */<a name="line.702"></a>
+<span class="sourceLineNo">703</span>  public static final long DEFAULT_HBASE_CLIENT_PAUSE = 100;<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>   * Parameter name for client pause value for special case such as call queue too big, etc.<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   */<a name="line.707"></a>
+<span class="sourceLineNo">708</span>  public static final String HBASE_CLIENT_PAUSE_FOR_CQTBE = "hbase.client.pause.cqtbe";<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>   * The maximum number of concurrent connections the client will maintain.<a name="line.711"></a>
+<span class="sourceLineNo">712</span>   */<a name="line.712"></a>
+<span class="sourceLineNo">713</span>  public static final String HBASE_CLIENT_MAX_TOTAL_TASKS = "hbase.client.max.total.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_TOTAL_TASKS}.<a name="line.716"></a>
+<span class="sourceLineNo">717</span>   */<a name="line.717"></a>
+<span class="sourceLineNo">718</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS = 100;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.721"></a>
+<span class="sourceLineNo">722</span>   * RegionServer.<a name="line.722"></a>
+<span class="sourceLineNo">723</span>   */<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  public static final String HBASE_CLIENT_MAX_PERSERVER_TASKS = "hbase.client.max.perserver.tasks";<a name="line.724"></a>
+<span class="sourceLineNo">725</span><a name="line.725"></a>
+<span class="sourceLineNo">726</span>  /**<a name="line.726"></a>
+<span class="sourceLineNo">727</span>   * Default value of {@link #HBASE_CLIENT_MAX_PERSERVER_TASKS}.<a name="line.727"></a>
+<span class="sourceLineNo">728</span>   */<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS = 2;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.732"></a>
+<span class="sourceLineNo">733</span>   * Region.<a name="line.733"></a>
+<span class="sourceLineNo">734</span>   */<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  public static final String HBASE_CLIENT_MAX_PERREGION_TASKS = "hbase.client.max.perregion.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERREGION_TASKS}.<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   */<a name="line.739"></a>
+<span class="sourceLineNo">740</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS = 1;<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>   * Parameter name for server pause value, used mostly as value to wait before<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * running a retry of a failed operation.<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   */<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  public static final String HBASE_SERVER_PAUSE = "hbase.server.pause";<a name="line.746"></a>
+<span class="sourceLineNo">743</span>   * The maximum number of concurrent pending RPC requests for one server in process level.<a name="line.743"></a>
+<span class="sourceLineNo">744</span>   */<a name="line.744"></a>
+<span class="sourceLineNo">745</span>  public static final String HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD =<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      "hbase.client.perserver.requests.threshold";<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>   * Default value of {@link #HBASE_SERVER_PAUSE}.<a name="line.749"></a>
+<span class="sourceLineNo">749</span>   * Default value of {@link #HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD}.<a name="line.749"></a>
 <span class="sourceLineNo">750</span>   */<a name="line.750"></a>
-<span class="sourceLineNo">751</span>  public static final int DEFAULT_HBASE_SERVER_PAUSE = 1000;<a name="line.751"></a>
+<span class="sourceLineNo">751</span>  public static final int DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD = Integer.MAX_VALUE;<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>   * Parameter name for maximum retries, used as maximum for all retryable<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * operations such as fetching of the root region from root region server,<a name="line.755"></a>
-<span class="sourceLineNo">756</span>   * getting a cell's value, starting a row update, etc.<a name="line.756"></a>
+<span class="sourceLineNo">753</span><a name="line.753"></a>
+<span class="sourceLineNo">754</span>  /**<a name="line.754"></a>
+<span class="sourceLineNo">755</span>   * Parameter name for server pause value, used mostly as value to wait before<a name="line.755"></a>
+<span class="sourceLineNo">756</span>   * running a retry of a failed operation.<a name="line.756"></a>
 <span class="sourceLineNo">757</span>   */<a name="line.757"></a>
-<span class="sourceLineNo">758</span>  public static final String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";<a name="line.758"></a>
+<span class="sourceLineNo">758</span>  public static final String HBASE_SERVER_PAUSE = "hbase.server.pause";<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>   * Default value of {@link #HBASE_CLIENT_RETRIES_NUMBER}.<a name="line.761"></a>
+<span class="sourceLineNo">761</span>   * Default value of {@link #HBASE_SERVER_PAUSE}.<a name="line.761"></a>
 <span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  public static final int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 15;<a name="line.763"></a>
+<span class="sourceLineNo">763</span>  public static final int DEFAULT_HBASE_SERVER_PAUSE = 1000;<a name="line.763"></a>
 <span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  public static final String HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER =<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      "hbase.client.serverside.retries.multiplier";<a name="line.766"></a>
-<span class="sourceLineNo">767</span><a name="line.767"></a>
-<span class="sourceLineNo">768</span>  public static final int DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER = 3;<a name="line.768"></a>
-<span class="sourceLineNo">769</span><a name="line.769"></a>
-<span class="sourceLineNo">770</span>  /**<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * Parameter name to set the default scanner caching for all clients.<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  public static final String HBASE_CLIENT_SCANNER_CACHING = "hbase.client.scanner.caching";<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  /**<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * Default value for {@link #HBASE_CLIENT_SCANNER_CACHING}<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
-<span class="sourceLineNo">778</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_CACHING = Integer.MAX_VALUE;<a name="line.778"></a>
+<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
+<span class="sourceLineNo">766</span>   * Parameter name for maximum retries, used as maximum for all retryable<a name="line.766"></a>
+<span class="sourceLineNo">767</span>   * operations such as fetching of the root region from root region server,<a name="line.767"></a>
+<span class="sourceLineNo">768</span>   * getting a cell's value, starting a row update, etc.<a name="line.768"></a>
+<span class="sourceLineNo">769</span>   */<a name="line.769"></a>
+<span class="sourceLineNo">770</span>  public static final String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";<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>   * Default value of {@link #HBASE_CLIENT_RETRIES_NUMBER}.<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   */<a name="line.774"></a>
+<span class="sourceLineNo">775</span>  public static final int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 15;<a name="line.775"></a>
+<span class="sourceLineNo">776</span><a name="line.776"></a>
+<span class="sourceLineNo">777</span>  public static final String HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER =<a name="line.777"></a>
+<span class="sourceLineNo">778</span>      "hbase.client.serverside.retries.multiplier";<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>   * Parameter name for number of rows that will be fetched when calling next on<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * a scanner if it is not served from memory. Higher caching values will<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * enable faster scanners but will eat up more memory and some calls of next<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * may take longer and longer times when the cache is empty.<a name="line.784"></a>
-<span class="sourceLineNo">785</span>   */<a name="line.785"></a>
-<span class="sourceLineNo">786</span>  public static final String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";<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>   * Default value of {@link #HBASE_META_SCANNER_CACHING}.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>   */<a name="line.790"></a>
-<span class="sourceLineNo">791</span>  public static final int DEFAULT_HBASE_META_SCANNER_CACHING = 100;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  public static final String HBASE_META_VERSIONS = "hbase.meta.versions";<a name="line.796"></a>
-<span class="sourceLineNo">797</span><a name="line.797"></a>
-<span class="sourceLineNo">798</span>  /**<a name="line.798"></a>
-<span class="sourceLineNo">799</span>   * Default value of {@link #HBASE_META_VERSIONS}.<a name="line.799"></a>
-<span class="sourceLineNo">800</span>   */<a name="line.800"></a>
-<span class="sourceLineNo">801</span>  public static final int DEFAULT_HBASE_META_VERSIONS = 3;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.804"></a>
-<span class="sourceLineNo">805</span>   */<a name="line.805"></a>
-<span class="sourceLineNo">806</span>  public static final String HBASE_META_BLOCK_SIZE = "hbase.meta.blocksize";<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>  /**<a name="line.808"></a>
-<span class="sourceLineNo">809</span>   * Default value of {@link #HBASE_META_BLOCK_SIZE}.<a name="line.809"></a>
-<span class="sourceLineNo">810</span>   */<a name="line.810"></a>
-<span class="sourceLineNo">811</span>  public static final int DEFAULT_HBASE_META_BLOCK_SIZE = 8 * 1024;<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>   * Parameter name for unique identifier for this {@link org.apache.hadoop.conf.Configuration}<a name="line.814"></a>
-<span class="sourceLineNo">815</span>   * instance. If there are two or more {@link org.apache.hadoop.conf.Configuration} instances that,<a name="line.815"></a>
-<span class="sourceLineNo">816</span>   * for all intents and purposes, are the same except for their instance ids, then they will not be<a name="line.816"></a>
-<span class="sourceLineNo">817</span>   * able to share the same org.apache.hadoop.hbase.client.HConnection instance. On the other hand,<a name="line.817"></a>
-<span class="sourceLineNo">818</span>   * even if the instance ids are the same, it could result in non-shared<a name="line.818"></a>
-<span class="sourceLineNo">819</span>   * org.apache.hadoop.hbase.client.HConnection instances if some of the other connection parameters<a name="line.819"></a>
-<span class="sourceLineNo">820</span>   * differ.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   */<a name="line.821"></a>
-<span class="sourceLineNo">822</span>  public static final String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>  /**<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * The client scanner timeout period in milliseconds.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   */<a name="line.826"></a>
-<span class="sourceLineNo">827</span>  public static final String HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD =<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      "hbase.client.scanner.timeout.period";<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>   * Use {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD} instead.<a name="line.831"></a>
-<span class="sourceLineNo">832</span>   * @deprecated This config option is deprecated. Will be removed at later releases after 0.96.<a name="line.832"></a>
+<span class="sourceLineNo">780</span>  public static final int DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER = 3;<a name="line.780"></a>
+<span class="sourceLineNo">781</span><a name="line.781"></a>
+<span class="sourceLineNo">782</span>  /**<a name="line.782"></a>
+<span class="sourceLineNo">783</span>   * Parameter name to set the default scanner caching for all clients.<a name="line.783"></a>
+<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
+<span class="sourceLineNo">785</span>  public static final String HBASE_CLIENT_SCANNER_CACHING = "hbase.client.scanner.caching";<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>   * Default value for {@link #HBASE_CLIENT_SCANNER_CACHING}<a name="line.788"></a>
+<span class="sourceLineNo">789</span>   */<a name="line.789"></a>
+<span class="sourceLineNo">790</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_CACHING = Integer.MAX_VALUE;<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>   * Parameter name for number of rows that will be fetched when calling next on<a name="line.793"></a>
+<span class="sourceLineNo">794</span>   * a scanner if it is not served from memory. Higher caching values will<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * enable faster scanners but will eat up more memory and some calls of next<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * may take longer and longer times when the cache is empty.<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  public static final String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";<a name="line.798"></a>
+<span class="sourceLineNo">799</span><a name="line.799"></a>
+<span class="sourceLineNo">800</span>  /**<a name="line.800"></a>
+<span class="sourceLineNo">801</span>   * Default value of {@link #HBASE_META_SCANNER_CACHING}.<a name="line.801"></a>
+<span class="sourceLineNo">802</span>   */<a name="line.802"></a>
+<span class="sourceLineNo">803</span>  public static final int DEFAULT_HBASE_META_SCANNER_CACHING = 100;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   */<a name="line.807"></a>
+<span class="sourceLineNo">808</span>  public static final String HBASE_META_VERSIONS = "hbase.meta.versions";<a name="line.808"></a>
+<span class="sourceLineNo">809</span><a name="line.809"></a>
+<span class="sourceLineNo">810</span>  /**<a name="line.810"></a>
+<span class="sourceLineNo">811</span>   * Default value of {@link #HBASE_META_VERSIONS}.<a name="line.811"></a>
+<span class="sourceLineNo">812</span>   */<a name="line.812"></a>
+<span class="sourceLineNo">813</span>  public static final int DEFAULT_HBASE_META_VERSIONS = 3;<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>  /**<a name="line.815"></a>
+<span class="sourceLineNo">816</span>   * Parameter name for number of versions, kept by meta table.<a name="line.816"></a>
+<span class="sourceLineNo">817</span>   */<a name="line.817"></a>
+<span class="sourceLineNo">818</span>  public static final String HBASE_META_BLOCK_SIZE = "hbase.meta.blocksize";<a name="line.818"></a>
+<span class="sourceLineNo">819</span><a name="line.819"></a>
+<span class="sourceLineNo">820</span>  /**<a name="line.820"></a>
+<span class="sourceLineNo">821</span>   * Default value of {@link #HBASE_META_BLOCK_SIZE}.<a name="line.821"></a>
+<span class="sourceLineNo">822</span>   */<a name="line.822"></a>
+<span class="sourceLineNo">823</span>  public static final int DEFAULT_HBASE_META_BLOCK_SIZE = 8 * 1024;<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>  /**<a name="line.825"></a>
+<span class="sourceLineNo">826</span>   * Parameter name for unique identifier for this {@link org.apache.hadoop.conf.Configuration}<a name="line.826"></a>
+<span class="sourceLineNo">827</span>   * instance. If there are two or more {@link org.apache.hadoop.conf.Configuration} instances that,<a name="line.827"></a>
+<span class="sourceLineNo">828</span>   * for all intents and purposes, are the same except for their instance ids, then they will not be<a name="line.828"></a>
+<span class="sourceLineNo">829</span>   * able to share the same org.apache.hadoop.hbase.client.HConnection instance. On the other hand,<a name="line.829"></a>
+<span class="sourceLineNo">830</span>   * even if the instance ids are the same, it could result in non-shared<a name="line.830"></a>
+<span class="sourceLineNo">831</span>   * org.apache.hadoop.hbase.client.HConnection instances if some of the other connection parameters<a name="line.831"></a>
+<span class="sourceLineNo">832</span>   * differ.<a name="line.832"></a>
 <span class="sourceLineNo">833</span>   */<a name="line.833"></a>
-<span class="sourceLineNo">834</span>  @Deprecated<a name="line.834"></a>
-<span class="sourceLineNo">835</span>  public static final String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      "hbase.regionserver.lease.period";<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>   * Default value of {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD}.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   */<a name="line.840"></a>
-<span class="sourceLineNo">841</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD = 60000;<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>   * timeout for each RPC<a name="line.844"></a>
+<span class="sourceLineNo">834</span>  public static final String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";<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>   * The client scanner timeout period in milliseconds.<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   */<a name="line.838"></a>
+<span class="sourceLineNo">839</span>  public static final String HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD =<a name="line.839"></a>
+<span class="sourceLineNo">840</span>      "hbase.client.scanner.timeout.period";<a name="line.840"></a>
+<span class="sourceLineNo">841</span><a name="line.841"></a>
+<span class="sourceLineNo">842</span>  /**<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * Use {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD} instead.<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   * @deprecated This config option is deprecated. Will be removed at later releases after 0.96.<a name="line.844"></a>
 <span class="sourceLineNo">845</span>   */<a name="line.845"></a>
-<span class="sourceLineNo">846</span>  public static final String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";<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>   * timeout for each read RPC<a name="line.849"></a>
-<span class="sourceLineNo">850</span>   */<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  public static final String HBASE_RPC_READ_TIMEOUT_KEY = "hbase.rpc.read.timeout";<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>   * timeout for each write RPC<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   */<a name="line.855"></a>
-<span class="sourceLineNo">856</span>  public static final String HBASE_RPC_WRITE_TIMEOUT_KEY = "hbase.rpc.write.timeout";<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>   * Default value of {@link #HBASE_RPC_TIMEOUT_KEY}<a name="line.859"></a>
-<span class="sourceLineNo">860</span>   */<a name="line.860"></a>
-<span class="sourceLineNo">861</span>  public static final int DEFAULT_HBASE_RPC_TIMEOUT = 60000;<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>   * timeout for short operation RPC<a name="line.864"></a>
-<span class="sourceLineNo">865</span>   */<a name="line.865"></a>
-<span class="sourceLineNo">866</span>  public static final String HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY =<a name="line.866"></a>
-<span class="sourceLineNo">867</span>      "hbase.rpc.shortoperation.timeout";<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>   * Default value of {@link #HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY}<a name="line.870"></a>
-<span class="sourceLineNo">871</span>   */<a name="line.871"></a>
-<span class="sourceLineNo">872</span>  public static final int DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT = 10000;<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>   * Value indicating the server name was saved with no sequence number.<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   */<a name="line.876"></a>
-<span class="sourceLineNo">877</span>  public static final long NO_SEQNUM = -1;<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>  /*<a name="line.880"></a>
-<span class="sourceLineNo">881</span>   * cluster replication constants.<a name="line.881"></a>
-<span class="sourceLineNo">882</span>   */<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  public static final String<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";<a name="line.884"></a>
-<span class="sourceLineNo">885</span>  public static final String<a name="line.885"></a>
-<span class="sourceLineNo">886</span>      REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";<a name="line.886"></a>
-<span class="sourceLineNo">887</span>  public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    "org.apache.hadoop.hbase.replication.regionserver.Replication";<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  public static final String REPLICATION_BULKLOAD_ENABLE_KEY = "hbase.replication.bulkload.enabled";<a name="line.889"></a>
-<span class="sourceLineNo">890</span>  public static final boolean REPLICATION_BULKLOAD_ENABLE_DEFAULT = false;<a name="line.890"></a>
-<span class="sourceLineNo">891</span>  /** Replication cluster id of source cluster which uniquely identifies itself with peer cluster */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  public static final String REPLICATION_CLUSTER_ID = "hbase.replication.cluster.id";<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   * Max total size of buffered entries in all replication peers. It will prevent server getting<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * OOM if there are many peers. Default value is 256MB which is four times to default<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * replication.source.size.capacity.<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  public static final String REPLICATION_SOURCE_TOTAL_BUFFER_KEY = "replication.total.buffer.quota";<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>  public static final int REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT = 256 * 1024 * 1024;<a name="line.900"></a>
-<span class="sourceLineNo">901</span><a name="line.901"></a>
-<span class="sourceLineNo">902</span><a name="line.902"></a>
-<span class="sourceLineNo">903</span>  /**<a name="line.903"></a>
-<span class="sourceLineNo">904</span>   * Directory where the source cluster file system client configuration are placed which is used by<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * sink cluster to copy HFiles from source cluster file system<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  public static final String REPLICATION_CONF_DIR = "hbase.replication.conf.dir";<a name="line.907"></a>
-<span class="sourceLineNo">908</span><a name="line.908"></a>
-<span class="sourceLineNo">909</span>  /** Maximum time to retry for a failed bulk load request */<a name="line.909"></a>
-<span class="sourceLineNo">910</span>  public static final String BULKLOAD_MAX_RETRIES_NUMBER = "hbase.bulkload.retries.number";<a name="line.910"></a>
+<span class="sourceLineNo">846</span>  @Deprecated<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  public static final String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =<a name="line.847"></a>
+<span class="sourceLineNo">848</span>      "hbase.regionserver.lease.period";<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>   * Default value of {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD}.<a name="line.851"></a>
+<span class="sourceLineNo">852</span>   */<a name="line.852"></a>
+<span class="sourceLineNo">853</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD = 60000;<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>   * timeout for each RPC<a name="line.856"></a>
+<span class="sourceLineNo">857</span>   */<a name="line.857"></a>
+<span class="sourceLineNo">858</span>  public static final String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";<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>   * timeout for each read RPC<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   */<a name="line.862"></a>
+<span class="sourceLineNo">863</span>  public static final String HBASE_RPC_READ_TIMEOUT_KEY = "hbase.rpc.read.timeout";<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>   * timeout for each write RPC<a name="line.866"></a>
+<span class="sourceLineNo">867</span>   */<a name="line.867"></a>
+<span class="sourceLineNo">868</span>  public static final String HBASE_RPC_WRITE_TIMEOUT_KEY = "hbase.rpc.write.timeout";<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>   * Default value of {@link #HBASE_RPC_TIMEOUT_KEY}<a name="line.871"></a>
+<span class="sourceLineNo">872</span>   */<a name="line.872"></a>
+<span class="sourceLineNo">873</span>  public static final int DEFAULT_HBASE_RPC_TIMEOUT = 60000;<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>   * timeout for short operation RPC<a name="line.876"></a>
+<span class="sourceLineNo">877</span>   */<a name="line.877"></a>
+<span class="sourceLineNo">878</span>  public static final String HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY =<a name="line.878"></a>
+<span class="sourceLineNo">879</span>      "hbase.rpc.shortoperation.timeout";<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>   * Default value of {@link #HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY}<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   */<a name="line.883"></a>
+<span class="sourceLineNo">884</span>  public static final int DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT = 10000;<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>   * Value indicating the server name was saved with no sequence number.<a name="line.887"></a>
+<span class="sourceLineNo">888</span>   */<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  public static final long NO_SEQNUM = -1;<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span>  /*<a name="line.892"></a>
+<span class="sourceLineNo">893</span>   * cluster replication constants.<a name="line.893"></a>
+<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
+<span class="sourceLineNo">895</span>  public static final String<a name="line.895"></a>
+<span class="sourceLineNo">896</span>      REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";<a name="line.896"></a>
+<span class="sourceLineNo">897</span>  public static final String<a name="line.897"></a>
+<span class="sourceLineNo">898</span>      REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";<a name="line.898"></a>
+<span class="sourceLineNo">899</span>  public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =<a name="line.899"></a>
+<span class="sourceLineNo">900</span>    "org.apache.hadoop.hbase.replication.regionserver.Replication";<a name="line.900"></a>
+<span class="sourceLineNo">901</span>  public static final String REPLICATION_BULKLOAD_ENABLE_KEY = "hbase.replication.bulkload.enabled";<a name="line.901"></a>
+<span class="sourceLineNo">902</span>  public static final boolean REPLICATION_BULKLOAD_ENABLE_DEFAULT = false;<a name="line.902"></a>
+<span class="sourceLineNo">903</span>  /** Replication cluster id of source cluster which uniquely identifies itself with peer cluster */<a name="line.903"></a>
+<span class="sourceLineNo">904</span>  public static final String REPLICATION_CLUSTER_ID = "hbase.replication.cluster.id";<a name="line.904"></a>
+<span class="sourceLineNo">905</span>  /**<a name="line.905"></a>
+<span class="sourceLineNo">906</span>   * Max total size of buffered entries in all replication peers. It will prevent server getting<a name="line.906"></a>
+<span class="sourceLineNo">907</span>   * OOM if there are many peers. Default value is 256MB which is four times to default<a name="line.907"></a>
+<span class="sourceLineNo">908</span>   * replication.source.size.capacity.<a name="line.908"></a>
+<span class="sourceLineNo">909</span>   */<a name="line.909"></a>
+<span class="sourceLineNo">910</span>  public static final String REPLICATION_SOURCE_TOTAL_BUFFER_KEY = "replication.total.buffer.quota";<a name="line.910"></a>
 <span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>  public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    "hbase.regionserver.hostname.seen.by.master";<a name="line.913"></a>
+<span class="sourceLineNo">912</span>  public static final int REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT = 256 * 1024 * 1024;<a name="line.912"></a>
+<span class="sourceLineNo">913</span><a name="line.913"></a>
 <span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>  public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      "hbase.master.logcleaner.plugins";<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>  public static final String HBASE_REGION_SPLIT_POLICY_KEY =<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    "hbase.regionserver.region.split.policy";<a name="line.919"></a>
+<span class="sourceLineNo">915</span>  /**<a name="line.915"></a>
+<span class="sourceLineNo">916</span>   * Directory where the source cluster file system client configuration are placed which is used by<a name="line.916"></a>
+<span class="sourceLineNo">917</span>   * sink cluster to copy HFiles from source cluster file system<a name="line.917"></a>
+<span class="sourceLineNo">918</span>   */<a name="line.918"></a>
+<span class="sourceLineNo">919</span>  public static final String REPLICATION_CONF_DIR = "hbase.replication.conf.dir";<a name="line.919"></a>
 <span class="sourceLineNo">920</span><a name="line.920"></a>
-<span class="sourceLineNo">921</span>  /** Whether nonces are enabled; default is true. */<a name="line.921"></a>
-<span class="sourceLineNo">922</span>  public static final String HBASE_RS_NONCES_ENABLED = "hbase.regionserver.nonces.enabled";<a name="line.922"></a>
+<span class="sourceLineNo">921</span>  /** Maximum time to retry for a failed bulk load request */<a name="line.921"></a>
+<span class="sourceLineNo">922</span>  public static final String BULKLOAD_MAX_RETRIES_NUMBER = "hbase.bulkload.retries.number";<a name="line.922"></a>
 <span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>  /**<a name="line.924"></a>
-<span class="sourceLineNo">925</span>   * Configuration key for the size of the block cache<a name="line.925"></a>
-<span class="sourceLineNo">926</span>   */<a name="line.926"></a>
-<span class="sourceLineNo">927</span>  public static final String HFILE_BLOCK_CACHE_SIZE_KEY =<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    "hfile.block.cache.size";<a name="line.928"></a>
+<span class="sourceLineNo">924</span>  public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    "hbase.regionserver.hostname.seen.by.master";<a name="line.925"></a>
+<span class="sourceLineNo">926</span><a name="line.926"></a>
+<span class="sourceLineNo">927</span>  public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =<a name="line.927"></a>
+<span class="sourceLineNo">928</span>      "hbase.master.logcleaner.plugins";<a name="line.928"></a>
 <span class="sourceLineNo">929</span><a name="line.929"></a>
-<span class="sourceLineNo">930</span>  public static final float HFILE_BLOCK_CACHE_SIZE_DEFAULT = 0.4f;<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>  /*<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    * Minimum percentage of free heap necessary for a successful cluster startup.<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    */<a name="line.934"></a>
-<span class="sourceLineNo">935</span>  public static final float HBASE_CLUSTER_MINIMUM_MEMORY_THRESHOLD = 0.2f;<a name="line.935"></a>
-<span class="sourceLineNo">936</span><a name="line.936"></a>
-<span class="sourceLineNo">937</span>  public static final Pattern CP_HTD_ATTR_KEY_PATTERN =<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      Pattern.compile("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE);<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>   * &lt;pre&gt;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>   * Pattern that matches a coprocessor specification. Form is:<a name="line.942"></a>
-<span class="sourceLineNo">943</span>   * {@code &lt;coprocessor jar file location&gt; '|' &lt;class name&gt; ['|' &lt;priority&gt; ['|' &lt;arguments&gt;]]}<a name="line.943"></a>
-<span class="sourceLineNo">944</span>   * where arguments are {@code &lt;KEY&gt; '=' &lt;VALUE&gt; [,...]}<a name="line.944"></a>
-<span class="sourceLineNo">945</span>   * For example: {@code hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2}<a name="line.945"></a>
-<span class="sourceLineNo">946</span>   * &lt;/pre&gt;<a name="line.946"></a>
-<span class="sourceLineNo">947</span>   */<a name="line.947"></a>
-<span class="sourceLineNo">948</span>  public static final Pattern CP_HTD_ATTR_VALUE_PATTERN =<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      Pattern.compile("(^[^\\|]*)\\|([^\\|]+)\\|[\\s]*([\\d]*)[\\s]*(\\|.*)?$");<a name="line.949"></a>
-<span class="sourceLineNo">950</span><a name="line.950"></a>
-<span class="sourceLineNo">951</span>  public static final String CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN = "[^=,]+";<a name="line.951"></a>
-<span class="sourceLineNo">952</span>  public static final String CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN = "[^,]+";<a name="line.952"></a>
-<span class="sourceLineNo">953</span>  public static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile(<a name="line.953"></a>
-<span class="sourceLineNo">954</span>      "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" +<a name="line.954"></a>
-<span class="sourceLineNo">955</span>      CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?");<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  public static final String CP_HTD_ATTR_INCLUSION_KEY =<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      "hbase.coprocessor.classloader.included.classes";<a name="line.957"></a>
-<span class="sourceLineNo">958</span><a name="line.958"></a>
-<span class="sourceLineNo">959</span>  /** The delay when re-trying a socket operation in a loop (HBASE-4712) */<a name="line.959"></a>
-<span class="sourceLineNo">960</span>  public static final int SOCKET_RETRY_WAIT_MS = 200;<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span>  /** Host name of the local machine */<a name="line.962"></a>
-<span class="sourceLineNo">963</span>  public static final String LOCALHOST = "localhost";<a name="line.963"></a>
-<span class="sourceLineNo">964</span><a name="line.964"></a>
-<span class="sourceLineNo">965</span>  /**<a name="line.965"></a>
-<span class="sourceLineNo">966</span>   * If this parameter is set to true, then hbase will read<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * data and then verify checksums. Checksum verification<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   * inside hdfs will be switched off.  However, if the hbase-checksum<a name="line.968"></a>
-<span class="source

<TRUNCATED>

[35/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html b/devapidocs/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html
index 35f5f9d..ab9ba88 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.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":9,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":42,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":9,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":42,"i52":42,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":9,"i64":10,"i65":10,"i66":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":9,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":42,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":9,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":42,"i53":42,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":9,"i65":10,"i66":10,"i67":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -417,195 +417,201 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/TableDescripto
 </tr>
 <tr id="i33" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope</a></span>()</code>
+<div class="block">Return true if there are at least one cf whose replication scope is serial.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#isCompactionEnabled--">isCompactionEnabled</a></span>()</code>
 <div class="block">Check if the compaction enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#isMetaRegion--">isMetaRegion</a></span>()</code>
 <div class="block">Checks if this table is <code> hbase:meta </code> region.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#isMetaTable--">isMetaTable</a></span>()</code>
 <div class="block">Checks if the table is a <code>hbase:meta</code> table</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#isNormalizationEnabled--">isNormalizationEnabled</a></span>()</code>
 <div class="block">Check if normalization enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#isReadOnly--">isReadOnly</a></span>()</code>
 <div class="block">Check if the readOnly flag of the table is set.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#modifyColumnFamily-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;family)</code>
 <div class="block">Modifies the existing column family.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;bytes)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#putColumnFamily-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">putColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;family)</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#removeColumnFamily-byte:A-">removeColumnFamily</a></span>(byte[]&nbsp;column)</code>
 <div class="block">Removes the ColumnFamilyDescriptor with name specified by the parameter column
  from the table descriptor</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#removeCoprocessor-java.lang.String-">removeCoprocessor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)</code>
 <div class="block">Remove a coprocessor from those set on the table</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#removeValue-byte:A-">removeValue</a></span>(byte[]&nbsp;key)</code>
 <div class="block">Remove metadata represented by the key from the <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#values"><code>values</code></a> map</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#removeValue-org.apache.hadoop.hbase.util.Bytes-">removeValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;key)</code>
 <div class="block">Remove metadata represented by the key from the <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#values"><code>values</code></a> map</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setCompactionEnabled-boolean-">setCompactionEnabled</a></span>(boolean&nbsp;isEnable)</code>
 <div class="block">Setting the table compaction enable flag.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.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;durability)</code>
 <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.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setFlushPolicyClassName-java.lang.String-">setFlushPolicyClassName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</code>
 <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.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setMaxFileSize-long-">setMaxFileSize</a></span>(long&nbsp;maxFileSize)</code>
 <div class="block">Sets the maximum size upto which a region can grow to after which a
  region split is triggered.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setMemStoreFlushSize-long-">setMemStoreFlushSize</a></span>(long&nbsp;memstoreFlushSize)</code>
 <div class="block">Represents the maximum size of the memstore after which the contents of
  the memstore are flushed to the filesystem.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setNormalizationEnabled-boolean-">setNormalizationEnabled</a></span>(boolean&nbsp;isEnable)</code>
 <div class="block">Setting the table normalization enable flag.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;owner)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setOwnerString-java.lang.String-">setOwnerString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ownerString)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setPriority-int-">setPriority</a></span>(int&nbsp;priority)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setReadOnly-boolean-">setReadOnly</a></span>(boolean&nbsp;readOnly)</code>
 <div class="block">Setting the table as read only sets all the columns in the table as read
  only.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setRegionMemStoreReplication-boolean-">setRegionMemStoreReplication</a></span>(boolean&nbsp;memstoreReplication)</code>
 <div class="block">Enable or Disable the memstore replication from the primary region to the
  replicas.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setRegionReplication-int-">setRegionReplication</a></span>(int&nbsp;regionReplication)</code>
 <div class="block">Sets the number of replicas per region.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setRegionSplitPolicyClassName-java.lang.String-">setRegionSplitPolicyClassName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</code>
 <div class="block">This sets the class associated with the region split policy which
  determines when a region split should occur.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setValue-byte:A-byte:A-">setValue</a></span>(byte[]&nbsp;key,
         byte[]&nbsp;value)</code>
 <div class="block">Setter for storing metadata as a (key, value) pair in <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#values"><code>values</code></a> map</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setValue-org.apache.hadoop.hbase.util.Bytes-org.apache.hadoop.hbase.util.Bytes-">setValue</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setValue-org.apache.hadoop.hbase.util.Bytes-java.lang.String-">setValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;key,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#setValue-java.lang.String-java.lang.String-">setValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>private byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#toByteArray--">toByteArray</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>private static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#toBytesOrNull-T-java.util.function.Function-">toBytesOrNull</a></span>(T&nbsp;t,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;T,byte[]&gt;&nbsp;f)</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#toStringCustomizedValues--">toStringCustomizedValues</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#toStringTableAttributes--">toStringTableAttributes</a></span>()</code>&nbsp;</td>
 </tr>
@@ -1459,13 +1465,29 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 </dl>
 </li>
 </ul>
+<a name="hasSerialReplicationScope--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasSerialReplicationScope</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1060">hasSerialReplicationScope</a>()</pre>
+<div class="block">Return true if there are at least one cf whose replication scope is serial.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if there are at least one cf whose replication scope is serial.</dd>
+</dl>
+</li>
+</ul>
 <a name="getRegionReplication--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionReplication</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1060">getRegionReplication</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1069">getRegionReplication</a>()</pre>
 <div class="block">Returns the configured replicas per region</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1481,7 +1503,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setRegionReplication</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1070">setRegionReplication</a>(int&nbsp;regionReplication)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1079">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>
@@ -1497,7 +1519,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>hasRegionMemStoreReplication</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1078">hasRegionMemStoreReplication</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1087">hasRegionMemStoreReplication</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#hasRegionMemStoreReplication--">hasRegionMemStoreReplication</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></dd>
@@ -1512,7 +1534,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setRegionMemStoreReplication</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1092">setRegionMemStoreReplication</a>(boolean&nbsp;memstoreReplication)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1101">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>
@@ -1532,7 +1554,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>setPriority</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1100">setPriority</a>(int&nbsp;priority)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1109">setPriority</a>(int&nbsp;priority)</pre>
 </li>
 </ul>
 <a name="getPriority--">
@@ -1541,7 +1563,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>getPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1105">getPriority</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1114">getPriority</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#getPriority--">getPriority</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></dd>
@@ -1554,7 +1576,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnFamilyNames</h4>
-<pre>public&nbsp;<a href="https://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/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1118">getColumnFamilyNames</a>()</pre>
+<pre>public&nbsp;<a href="https://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/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1127">getColumnFamilyNames</a>()</pre>
 <div class="block">Returns all the column family names of the current table. The map of
  TableDescriptor contains mapping of family name to ColumnFamilyDescriptor.
  This returns all the keys of the family map which represents the column
@@ -1573,7 +1595,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1131">getColumnFamily</a>(byte[]&nbsp;column)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1140">getColumnFamily</a>(byte[]&nbsp;column)</pre>
 <div class="block">Returns the ColumnFamilyDescriptor for a specific column family with name as
  specified by the parameter column.</div>
 <dl>
@@ -1593,7 +1615,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>removeColumnFamily</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1143">removeColumnFamily</a>(byte[]&nbsp;column)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1152">removeColumnFamily</a>(byte[]&nbsp;column)</pre>
 <div class="block">Removes the ColumnFamilyDescriptor with name specified by the parameter column
  from the table descriptor</div>
 <dl>
@@ -1611,7 +1633,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>addCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1157">addCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1166">addCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)
                                                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add a table coprocessor to this table. The coprocessor type must be
  org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't
@@ -1633,7 +1655,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>addCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1176">addCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1185">addCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
                                                                        org.apache.hadoop.fs.Path&nbsp;jarFilePath,
                                                                        int&nbsp;priority,
                                                                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;kvs)
@@ -1663,7 +1685,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>addCoprocessorWithSpec</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1218">addCoprocessorWithSpec</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;specStr)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1227">addCoprocessorWithSpec</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;specStr)
                                                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add a table coprocessor to this table. The coprocessor type must be
  org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't
@@ -1686,7 +1708,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>checkHasCoprocessor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1228">checkHasCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1237">checkHasCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1700,7 +1722,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>addCoprocessorToMap</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1241">addCoprocessorToMap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;specStr)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1250">addCoprocessorToMap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;specStr)</pre>
 <div class="block">Add coprocessor to values Map</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1717,7 +1739,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>hasCoprocessor</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1268">hasCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classNameToMatch)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1277">hasCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classNameToMatch)</pre>
 <div class="block">Check if the table has an attached co-processor represented by the name
  className</div>
 <dl>
@@ -1736,7 +1758,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessors</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1296">getCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1305">getCoprocessors</a>()</pre>
 <div class="block">Return the list of attached co-processor represented by their name
  className</div>
 <dl>
@@ -1753,7 +1775,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessorClassNameFromSpecStr</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1319">getCoprocessorClassNameFromSpecStr</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec)</pre>
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1328">getCoprocessorClassNameFromSpecStr</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;spec)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>spec</code> - String formatted as per
@@ -1770,7 +1792,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <ul class="blockList">
 <li class="blockList">
 <h4>removeCoprocessor</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1330">removeCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1339">removeCoprocessor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)</pre>
 <div class="block">Remove a coprocessor from those set on the table</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1785,7 +1807,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Tabl
 <li class="blockList">
 <h4>setOwner</h4>
 <pre><a href="https://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/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1361">setOwner</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;owner)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1370">setOwner</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;owner)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1796,7 +1818,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <li class="blockList">
 <h4>setOwnerString</h4>
 <pre><a href="https://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/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1367">setOwnerString</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ownerString)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1376">setOwnerString</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ownerString)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1807,7 +1829,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <li class="blockList">
 <h4>getOwnerString</h4>
 <pre><a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1373">getOwnerString</a>()</pre>
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1382">getOwnerString</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1821,7 +1843,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1383">toByteArray</a>()</pre>
+<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1392">toByteArray</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the bytes in pb format</dd>
@@ -1834,7 +1856,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1395">parseFrom</a>(byte[]&nbsp;bytes)
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1404">parseFrom</a>(byte[]&nbsp;bytes)
                                   throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1856,7 +1878,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getColumnFamilyCount</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1411">getColumnFamilyCount</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#line.1420">getColumnFamilyCount</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#getColumnFamilyCount--">TableDescriptor</a></code></span></div>
 <div class="block">Returns the count of the column families of the table.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
index 6b4e9c2..253a995 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
@@ -478,6 +478,18 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static long[]</code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrier-org.apache.hadoop.hbase.client.Connection-byte:A-">getReplicationBarrier</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                     byte[]&nbsp;regionName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-byte:A-byte:A-">getReplicationBarrierResult</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                           <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                           byte[]&nbsp;row,
+                           byte[]&nbsp;encodedRegionName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RSGroupTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/RSGroupTableAccessor.html#getRSGroupInfo-org.apache.hadoop.hbase.client.Connection-byte:A-">getRSGroupInfo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
               byte[]&nbsp;rsGroupName)</code>&nbsp;</td>
@@ -539,17 +551,19 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.ServerName-int-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionA,
+            long&nbsp;regionAOpenSeqNum,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionB,
+            long&nbsp;regionBOpenSeqNum,
             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
             int&nbsp;regionReplication)</code>
 <div class="block">Merge the two regions into one in an atomic operation.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
+<td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#multiMutate-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Table-byte:A-java.util.List-">multiMutate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
            byte[]&nbsp;row,
@@ -648,8 +662,9 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#splitRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">splitRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#splitRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">splitRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+           long&nbsp;parentOpenSeqNum,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitA,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitB,
            <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
@@ -2181,10 +2196,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HFileReplicator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.html#connection">connection</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SerialReplicationChecker.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#conn">conn</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HFileReplicator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.html#connection">connection</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationSink.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html#sharedHtableCon">sharedHtableCon</a></span></code>&nbsp;</td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
index 7abcb12..58373f2 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
@@ -182,7 +182,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#debugLogMutations-java.util.List-">debugLogMutations</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
+<td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#multiMutate-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Table-byte:A-java.util.List-">multiMutate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
            byte[]&nbsp;row,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
index 0bdf4f5..882bef5 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
@@ -205,13 +205,19 @@ service.</div>
               int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private static <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">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makePutForReplicationBarrier-org.apache.hadoop.hbase.client.RegionInfo-long-long-">makePutForReplicationBarrier</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+                            long&nbsp;openSeqNum,
+                            long&nbsp;ts)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <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">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makePutFromRegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-">makePutFromRegionInfo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                      long&nbsp;ts)</code>
 <div class="block">Generates and returns a Put containing the region into for the catalog table</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <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">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makePutFromTableState-org.apache.hadoop.hbase.client.TableState-long-">makePutFromTableState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a>&nbsp;state,
                      long&nbsp;ts)</code>
@@ -258,6 +264,16 @@ service.</div>
                    <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#addReplicationBarrier-org.apache.hadoop.hbase.client.Put-long-">addReplicationBarrier</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+                     long&nbsp;openSeqNum)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#addReplicationParent-org.apache.hadoop.hbase.client.Put-java.util.List-">addReplicationParent</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;parents)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private static <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">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#addSequenceNum-org.apache.hadoop.hbase.client.Put-long-int-">addSequenceNum</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p,
               long&nbsp;openSeqNum,


[48/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/apidocs/org/apache/hadoop/hbase/client/TableDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/TableDescriptor.html b/apidocs/org/apache/hadoop/hbase/client/TableDescriptor.html
index 62edd2e..4cb53cc 100644
--- a/apidocs/org/apache/hadoop/hbase/client/TableDescriptor.html
+++ b/apidocs/org/apache/hadoop/hbase/client/TableDescriptor.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":17,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":38,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":18};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":17,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":38,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":18};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -261,35 +261,39 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isCompactionEnabled--">isCompactionEnabled</a></span>()</code>
 <div class="block">Check if the compaction enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isMetaRegion--">isMetaRegion</a></span>()</code>
 <div class="block">Checks if this table is <code> hbase:meta </code> region.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isMetaTable--">isMetaTable</a></span>()</code>
 <div class="block">Checks if the table is a <code>hbase:meta</code> table</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isNormalizationEnabled--">isNormalizationEnabled</a></span>()</code>
 <div class="block">Check if normalization enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isReadOnly--">isReadOnly</a></span>()</code>
 <div class="block">Check if the readOnly flag of the table is set.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>default boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#matchReplicationScope-boolean-">matchReplicationScope</a></span>(boolean&nbsp;enabled)</code>
 <div class="block">Check if the table's cfs' replication scope matched with the replication state</div>
@@ -632,13 +636,26 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </dl>
 </li>
 </ul>
+<a name="hasSerialReplicationScope--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasSerialReplicationScope</h4>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.237">hasSerialReplicationScope</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if there are at least one cf whose replication scope is serial.</dd>
+</dl>
+</li>
+</ul>
 <a name="isCompactionEnabled--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>isCompactionEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.240">isCompactionEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.245">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>
@@ -653,7 +670,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaRegion</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.247">isMetaRegion</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.252">isMetaRegion</a>()</pre>
 <div class="block">Checks if this table is <code> hbase:meta </code> region.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -667,7 +684,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaTable</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.254">isMetaTable</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.259">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>
@@ -681,7 +698,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isNormalizationEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.262">isNormalizationEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.267">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>
@@ -696,7 +713,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockList">
 <li class="blockList">
 <h4>isReadOnly</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.270">isReadOnly</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.275">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>
@@ -711,7 +728,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 <ul class="blockListLast">
 <li class="blockList">
 <h4>matchReplicationScope</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.277">matchReplicationScope</a>(boolean&nbsp;enabled)</pre>
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.282">matchReplicationScope</a>(boolean&nbsp;enabled)</pre>
 <div class="block">Check if the table's cfs' replication scope matched with the replication state</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>


[33/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html
index d4c3f5d..a1d64fc 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Result.html
@@ -321,6 +321,14 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Result-">getReplicationBarrierResult</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>private static long[]</code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarriers-org.apache.hadoop.hbase.client.Result-">getReplicationBarriers</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="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RSGroupTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/RSGroupTableAccessor.html#getRSGroupInfo-org.apache.hadoop.hbase.client.Result-">getRSGroupInfo</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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/class-use/Table.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Table.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Table.html
index d8e4b82..ad34f24 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Table.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Table.html
@@ -234,7 +234,7 @@ service.</div>
    <a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;g)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
+<td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#multiMutate-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Table-byte:A-java.util.List-">multiMutate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
            byte[]&nbsp;row,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html
index cbe8375..f5f674e 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html
@@ -1501,6 +1501,10 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getRegionReplication-org.apache.hadoop.hbase.client.TableDescriptor-">getRegionReplication</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#hasSerialReplicationScope-org.apache.hadoop.hbase.client.TableDescriptor-">hasSerialReplicationScope</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index cd500cd..ec28351 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -547,24 +547,24 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://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/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/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/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/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/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/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/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 00b1024..b33b1a9 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -183,14 +183,14 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://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/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/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
-<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/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/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/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/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/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index 7600159..1f90dde 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -349,8 +349,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://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.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
 </ul>
 </li>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/master/MasterFileSystem.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterFileSystem.html b/devapidocs/org/apache/hadoop/hbase/master/MasterFileSystem.html
index 071a20e..3cf70b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterFileSystem.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterFileSystem.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"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":9,"i17":10};
+var methods = {"i0":9,"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":9,"i18":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -290,32 +290,36 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#getRootDir--">getRootDir</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#getRegionDir-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#getTempDir--">getTempDir</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#getRootDir--">getRootDir</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
+<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#getTempDir--">getTempDir</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.fs.FileSystem</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#getWALFileSystem--">getWALFileSystem</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#getWALRootDir--">getWALRootDir</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#logFileSystemState-org.slf4j.Logger-">logFileSystemState</a></span>(org.slf4j.Logger&nbsp;log)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#setInfoFamilyCachingForMeta-org.apache.hadoop.hbase.client.TableDescriptor-boolean-">setInfoFamilyCachingForMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;metaDescriptor,
                            boolean&nbsp;b)</code>
 <div class="block">Enable in memory caching for hbase:meta</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#stop--">stop</a></span>()</code>&nbsp;</td>
 </tr>
@@ -581,13 +585,26 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="getRegionDir-org.apache.hadoop.hbase.client.RegionInfo-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRegionDir</h4>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.218">getRegionDir</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the directory for a give <code>region</code>.</dd>
+</dl>
+</li>
+</ul>
 <a name="getTempDir--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getTempDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.216">getTempDir</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.225">getTempDir</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>HBase temp dir.</dd>
@@ -600,7 +617,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterId</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterId.html" title="class in org.apache.hadoop.hbase">ClusterId</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.223">getClusterId</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterId.html" title="class in org.apache.hadoop.hbase">ClusterId</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.232">getClusterId</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The unique identifier generated for this cluster</dd>
@@ -613,7 +630,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRootDir</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.236">checkRootDir</a>(org.apache.hadoop.fs.Path&nbsp;rd,
+<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.245">checkRootDir</a>(org.apache.hadoop.fs.Path&nbsp;rd,
                                                org.apache.hadoop.conf.Configuration&nbsp;c,
                                                org.apache.hadoop.fs.FileSystem&nbsp;fs)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -637,7 +654,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTempDir</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.301">checkTempDir</a>(org.apache.hadoop.fs.Path&nbsp;tmpdir,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.310">checkTempDir</a>(org.apache.hadoop.fs.Path&nbsp;tmpdir,
                           org.apache.hadoop.conf.Configuration&nbsp;c,
                           org.apache.hadoop.fs.FileSystem&nbsp;fs)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -655,7 +672,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkSubDir</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.334">checkSubDir</a>(org.apache.hadoop.fs.Path&nbsp;p,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.343">checkSubDir</a>(org.apache.hadoop.fs.Path&nbsp;p,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dirPermsConfName)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Make sure the directories under rootDir have good permissions. Create if necessary.</div>
@@ -673,7 +690,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkStagingDir</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.366">checkStagingDir</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.375">checkStagingDir</a>()
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check permissions for bulk load staging directory. This directory has special hidden
  permissions. Create it if necessary.</div>
@@ -689,7 +706,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>bootstrap</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.383">bootstrap</a>(org.apache.hadoop.fs.Path&nbsp;rd,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.392">bootstrap</a>(org.apache.hadoop.fs.Path&nbsp;rd,
                               org.apache.hadoop.conf.Configuration&nbsp;c)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -704,7 +721,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setInfoFamilyCachingForMeta</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.406">setInfoFamilyCachingForMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;metaDescriptor,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.415">setInfoFamilyCachingForMeta</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;metaDescriptor,
                                                           boolean&nbsp;b)</pre>
 <div class="block">Enable in memory caching for hbase:meta</div>
 </li>
@@ -715,7 +732,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteFamilyFromFS</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.419">deleteFamilyFromFS</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.428">deleteFamilyFromFS</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
                                byte[]&nbsp;familyName)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -730,7 +747,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteFamilyFromFS</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.424">deleteFamilyFromFS</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.433">deleteFamilyFromFS</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                                <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
                                byte[]&nbsp;familyName)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -746,7 +763,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.443">stop</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.452">stop</a>()</pre>
 </li>
 </ul>
 <a name="logFileSystemState-org.slf4j.Logger-">
@@ -755,7 +772,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>logFileSystemState</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.446">logFileSystemState</a>(org.slf4j.Logger&nbsp;log)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html#line.455">logFileSystemState</a>(org.slf4j.Logger&nbsp;log)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
index ab771e4..6ccfee6 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
@@ -1304,7 +1304,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>pendingAssignQueue</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1627">pendingAssignQueue</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1626">pendingAssignQueue</a></pre>
 </li>
 </ul>
 <a name="assignQueueLock">
@@ -1313,7 +1313,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>assignQueueLock</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1628">assignQueueLock</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1627">assignQueueLock</a></pre>
 </li>
 </ul>
 <a name="assignQueueFullCond">
@@ -1322,7 +1322,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>assignQueueFullCond</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1629">assignQueueFullCond</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1628">assignQueueFullCond</a></pre>
 </li>
 </ul>
 </li>
@@ -2532,7 +2532,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>markRegionAsMerged</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1602">markRegionAsMerged</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1601">markRegionAsMerged</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
                                <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mother,
                                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;father)
@@ -2555,7 +2555,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldAssignFavoredNodes</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1619">shouldAssignFavoredNodes</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1618">shouldAssignFavoredNodes</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
 </li>
 </ul>
 <a name="queueAssign-org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode-">
@@ -2564,7 +2564,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>queueAssign</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1636">queueAssign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&nbsp;regionNode)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1635">queueAssign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&nbsp;regionNode)</pre>
 <div class="block">Add the assign operation to the assignment queue.
  The pending assignment operation will be processed,
  and each region will be assigned by a server using the balancer.</div>
@@ -2576,7 +2576,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>startAssignmentThread</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1653">startAssignmentThread</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1652">startAssignmentThread</a>()</pre>
 </li>
 </ul>
 <a name="stopAssignmentThread--">
@@ -2585,7 +2585,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>stopAssignmentThread</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1671">stopAssignmentThread</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1670">stopAssignmentThread</a>()</pre>
 </li>
 </ul>
 <a name="assignQueueSignal--">
@@ -2594,7 +2594,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>assignQueueSignal</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1684">assignQueueSignal</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1683">assignQueueSignal</a>()</pre>
 </li>
 </ul>
 <a name="waitOnAssignQueue--">
@@ -2603,7 +2603,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnAssignQueue</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1694">waitOnAssignQueue</a>()</pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1693">waitOnAssignQueue</a>()</pre>
 </li>
 </ul>
 <a name="processAssignQueue--">
@@ -2612,7 +2612,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>processAssignQueue</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1719">processAssignQueue</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1718">processAssignQueue</a>()</pre>
 </li>
 </ul>
 <a name="processAssignmentPlans-java.util.HashMap-java.util.HashMap-java.util.List-java.util.List-">
@@ -2621,7 +2621,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>processAssignmentPlans</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1781">processAssignmentPlans</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt;&nbsp;regions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1780">processAssignmentPlans</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt;&nbsp;regions,
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;retainMap,
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;hris,
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
@@ -2633,7 +2633,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>acceptPlan</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1819">acceptPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt;&nbsp;regions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1818">acceptPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt;&nbsp;regions,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&gt;&nbsp;plan)
                  throws <a href="../../../../../../org/apache/hadoop/hbase/HBaseIOException.html" title="class in org.apache.hadoop.hbase">HBaseIOException</a></pre>
 <dl>
@@ -2648,7 +2648,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>addToPendingAssignment</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1848">addToPendingAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt;&nbsp;regions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1847">addToPendingAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&gt;&nbsp;regions,
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;pendingRegions)</pre>
 </li>
 </ul>
@@ -2658,7 +2658,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>getExcludedServersForSystemTable</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1864">getExcludedServersForSystemTable</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1863">getExcludedServersForSystemTable</a>()</pre>
 <div class="block">Get a list of servers that this region cannot be assigned to.
  For system tables, we must assign them to a server with highest version.</div>
 </li>
@@ -2669,7 +2669,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>serverAdded</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1887">serverAdded</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1886">serverAdded</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/ServerListener.html#serverAdded-org.apache.hadoop.hbase.ServerName-">ServerListener</a></code></span></div>
 <div class="block">The server has joined the cluster.</div>
 <dl>
@@ -2686,7 +2686,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>serverRemoved</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1891">serverRemoved</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1890">serverRemoved</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/ServerListener.html#serverRemoved-org.apache.hadoop.hbase.ServerName-">ServerListener</a></code></span></div>
 <div class="block">The server was removed from the cluster.</div>
 <dl>
@@ -2703,7 +2703,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerVersion</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1899">getServerVersion</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1898">getServerVersion</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
 </ul>
 <a name="killRegionServer-org.apache.hadoop.hbase.ServerName-">
@@ -2712,7 +2712,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>killRegionServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1904">killRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1903">killRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 </li>
 </ul>
 <a name="killRegionServer-org.apache.hadoop.hbase.master.assignment.RegionStates.ServerStateNode-">
@@ -2721,7 +2721,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>killRegionServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1909">killRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.ServerStateNode</a>&nbsp;serverNode)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1908">killRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.ServerStateNode</a>&nbsp;serverNode)</pre>
 </li>
 </ul>
 <a name="handleMetaRITOnCrashedServer-org.apache.hadoop.hbase.ServerName-">
@@ -2730,7 +2730,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handleMetaRITOnCrashedServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1924">handleMetaRITOnCrashedServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1923">handleMetaRITOnCrashedServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 <div class="block">Handle RIT of meta region against crashed server.
  Only used when ServerCrashProcedure is not enabled.
  See handleRIT in ServerCrashProcedure for similar function.</div>


[20/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
index e828a9b..a99f492 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
@@ -495,841 +495,853 @@
 <span class="sourceLineNo">487</span>  /** The serialized table state qualifier */<a name="line.487"></a>
 <span class="sourceLineNo">488</span>  public static final byte[] TABLE_STATE_QUALIFIER = Bytes.toBytes("state");<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>   * The meta table version column qualifier.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * We keep current version of the meta table in this column in &lt;code&gt;-ROOT-&lt;/code&gt;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * table: i.e. in the 'info:v' column.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   */<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v");<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  /**<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * The current version of the meta table.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   * - pre-hbase 0.92.  There is no META_VERSION column in the root table<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * in this case. The meta has HTableDescriptor serialized into the HRegionInfo;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * - version 0 is 0.92 and 0.94. Meta data has serialized HRegionInfo's using<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Writable serialization, and HRegionInfo's does not contain HTableDescriptors.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * - version 1 for 0.96+ keeps HRegionInfo data structures, but changes the<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * byte[] serialization from Writables to Protobuf.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * See HRegionInfo.VERSION<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  public static final short META_VERSION = 1;<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  // Other constants<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>   * An empty instance.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  public static final byte [] EMPTY_BYTE_ARRAY = new byte [0];<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>  public static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.wrap(EMPTY_BYTE_ARRAY);<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>   * Used by scanners, etc when they want to start at the beginning of a region<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  public static final byte [] EMPTY_START_ROW = EMPTY_BYTE_ARRAY;<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>   * Last row in a table.<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public static final byte [] EMPTY_END_ROW = EMPTY_START_ROW;<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>    * Used by scanners and others when they're trying to detect the end of a<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    * table<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  public static final byte [] LAST_ROW = EMPTY_BYTE_ARRAY;<a name="line.533"></a>
+<span class="sourceLineNo">490</span>  /** The replication barrier family as a string*/<a name="line.490"></a>
+<span class="sourceLineNo">491</span>  public static final String REPLICATION_BARRIER_FAMILY_STR = "rep_barrier";<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>  /** The replication barrier family */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  public static final byte[] REPLICATION_BARRIER_FAMILY =<a name="line.494"></a>
+<span class="sourceLineNo">495</span>      Bytes.toBytes(REPLICATION_BARRIER_FAMILY_STR);<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>   * The meta table version column qualifier.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * We keep current version of the meta table in this column in &lt;code&gt;-ROOT-&lt;/code&gt;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * table: i.e. in the 'info:v' column.<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   */<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v");<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>  /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * The current version of the meta table.<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * - pre-hbase 0.92.  There is no META_VERSION column in the root table<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   * in this case. The meta has HTableDescriptor serialized into the HRegionInfo;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>   * - version 0 is 0.92 and 0.94. Meta data has serialized HRegionInfo's using<a name="line.508"></a>
+<span class="sourceLineNo">509</span>   * Writable serialization, and HRegionInfo's does not contain HTableDescriptors.<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   * - version 1 for 0.96+ keeps HRegionInfo data structures, but changes the<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   * byte[] serialization from Writables to Protobuf.<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   * See HRegionInfo.VERSION<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   */<a name="line.513"></a>
+<span class="sourceLineNo">514</span>  public static final short META_VERSION = 1;<a name="line.514"></a>
+<span class="sourceLineNo">515</span><a name="line.515"></a>
+<span class="sourceLineNo">516</span>  // Other constants<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>   * An empty instance.<a name="line.519"></a>
+<span class="sourceLineNo">520</span>   */<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  public static final byte [] EMPTY_BYTE_ARRAY = new byte [0];<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  public static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.wrap(EMPTY_BYTE_ARRAY);<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>   * Used by scanners, etc when they want to start at the beginning of a region<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   */<a name="line.527"></a>
+<span class="sourceLineNo">528</span>  public static final byte [] EMPTY_START_ROW = EMPTY_BYTE_ARRAY;<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>   * Last row in a table.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
+<span class="sourceLineNo">533</span>  public static final byte [] EMPTY_END_ROW = EMPTY_START_ROW;<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>   * Max length a row can have because of the limitation in TFile.<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   */<a name="line.537"></a>
-<span class="sourceLineNo">538</span>  public static final int MAX_ROW_LENGTH = Short.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the latest cell.<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   *<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   * On client side, this is the timestamp set by default when no timestamp is specified,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>   * to refer to the latest.<a name="line.544"></a>
-<span class="sourceLineNo">545</span>   * On server side, this acts as a notation.<a name="line.545"></a>
-<span class="sourceLineNo">546</span>   * (1) For a cell of Put, which has this notation,<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   *     its timestamp will be replaced with server's current time.<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * (2) For a cell of Delete, which has this notation,<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   *     A. If the cell is of {@link KeyValue.Type#Delete}, HBase issues a Get operation firstly.<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   *        a. When the count of cell it gets is less than the count of cell to delete,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *           the timestamp of Delete cell will be replaced with server's current time.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   *        b. When the count of cell it gets is equal to the count of cell to delete,<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   *           the timestamp of Delete cell will be replaced with the latest timestamp of cell it<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *           gets.<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   *       (c. It is invalid and an exception will be thrown,<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   *           if the count of cell it gets is greater than the count of cell to delete,<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *           as the max version of Get is set to the count of cell to delete.)<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   *     B. If the cell is of other Delete types, like {@link KeyValue.Type#DeleteFamilyVersion},<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   *        {@link KeyValue.Type#DeleteColumn}, or {@link KeyValue.Type#DeleteFamily},<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   *        the timestamp of Delete cell will be replaced with server's current time.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   *<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * So that is why it is named as "latest" but assigned as the max value of Long.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   */<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  public static final long LATEST_TIMESTAMP = Long.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the oldest cell.<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * Special! Used in fake Cells only. Should never be the timestamp on an actual Cell returned to<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * a client.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @deprecated Should not be public since hbase-1.3.0. For internal use only. Move internal to<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   *   Scanners flagged as special timestamp value never to be returned as timestamp on a Cell.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  @Deprecated<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public static final long OLDEST_TIMESTAMP = Long.MIN_VALUE;<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>   * LATEST_TIMESTAMP in bytes form<a name="line.577"></a>
+<span class="sourceLineNo">536</span>    * Used by scanners and others when they're trying to detect the end of a<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    * table<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    */<a name="line.538"></a>
+<span class="sourceLineNo">539</span>  public static final byte [] LAST_ROW = EMPTY_BYTE_ARRAY;<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>   * Max length a row can have because of the limitation in TFile.<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   */<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  public static final int MAX_ROW_LENGTH = Short.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the latest cell.<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   *<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * On client side, this is the timestamp set by default when no timestamp is specified,<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * to refer to the latest.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * On server side, this acts as a notation.<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * (1) For a cell of Put, which has this notation,<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   *     its timestamp will be replaced with server's current time.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   * (2) For a cell of Delete, which has this notation,<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   *     A. If the cell is of {@link KeyValue.Type#Delete}, HBase issues a Get operation firstly.<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   *        a. When the count of cell it gets is less than the count of cell to delete,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *           the timestamp of Delete cell will be replaced with server's current time.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   *        b. When the count of cell it gets is equal to the count of cell to delete,<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   *           the timestamp of Delete cell will be replaced with the latest timestamp of cell it<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *           gets.<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   *       (c. It is invalid and an exception will be thrown,<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   *           if the count of cell it gets is greater than the count of cell to delete,<a name="line.562"></a>
+<span class="sourceLineNo">563</span>   *           as the max version of Get is set to the count of cell to delete.)<a name="line.563"></a>
+<span class="sourceLineNo">564</span>   *     B. If the cell is of other Delete types, like {@link KeyValue.Type#DeleteFamilyVersion},<a name="line.564"></a>
+<span class="sourceLineNo">565</span>   *        {@link KeyValue.Type#DeleteColumn}, or {@link KeyValue.Type#DeleteFamily},<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   *        the timestamp of Delete cell will be replaced with server's current time.<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * So that is why it is named as "latest" but assigned as the max value of Long.<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   */<a name="line.569"></a>
+<span class="sourceLineNo">570</span>  public static final long LATEST_TIMESTAMP = Long.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the oldest cell.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * Special! Used in fake Cells only. Should never be the timestamp on an actual Cell returned to<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a client.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * @deprecated Should not be public since hbase-1.3.0. For internal use only. Move internal to<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   *   Scanners flagged as special timestamp value never to be returned as timestamp on a Cell.<a name="line.577"></a>
 <span class="sourceLineNo">578</span>   */<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public static final byte [] LATEST_TIMESTAMP_BYTES = {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    // big-endian<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 56),<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 48),<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 40),<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 32),<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 24),<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 16),<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 8),<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    (byte) LATEST_TIMESTAMP,<a name="line.588"></a>
-<span class="sourceLineNo">589</span>  };<a name="line.589"></a>
-<span class="sourceLineNo">590</span><a name="line.590"></a>
-<span class="sourceLineNo">591</span>  /**<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * Define for 'return-all-versions'.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public static final int ALL_VERSIONS = Integer.MAX_VALUE;<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>   * Unlimited time-to-live.<a name="line.597"></a>
-<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
-<span class="sourceLineNo">599</span>//  public static final int FOREVER = -1;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  public static final int FOREVER = Integer.MAX_VALUE;<a name="line.600"></a>
+<span class="sourceLineNo">579</span>  @Deprecated<a name="line.579"></a>
+<span class="sourceLineNo">580</span>  public static final long OLDEST_TIMESTAMP = Long.MIN_VALUE;<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>   * LATEST_TIMESTAMP in bytes form<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   */<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  public static final byte [] LATEST_TIMESTAMP_BYTES = {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    // big-endian<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 56),<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 48),<a name="line.588"></a>
+<span class="sourceLineNo">589</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 40),<a name="line.589"></a>
+<span class="sourceLineNo">590</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 32),<a name="line.590"></a>
+<span class="sourceLineNo">591</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 24),<a name="line.591"></a>
+<span class="sourceLineNo">592</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 16),<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 8),<a name="line.593"></a>
+<span class="sourceLineNo">594</span>    (byte) LATEST_TIMESTAMP,<a name="line.594"></a>
+<span class="sourceLineNo">595</span>  };<a name="line.595"></a>
+<span class="sourceLineNo">596</span><a name="line.596"></a>
+<span class="sourceLineNo">597</span>  /**<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * Define for 'return-all-versions'.<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   */<a name="line.599"></a>
+<span class="sourceLineNo">600</span>  public static final int ALL_VERSIONS = Integer.MAX_VALUE;<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>   * Seconds in a day, hour and minute<a name="line.603"></a>
+<span class="sourceLineNo">603</span>   * Unlimited time-to-live.<a name="line.603"></a>
 <span class="sourceLineNo">604</span>   */<a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public static final int DAY_IN_SECONDS = 24 * 60 * 60;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>  public static final int HOUR_IN_SECONDS = 60 * 60;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  public static final int MINUTE_IN_SECONDS = 60;<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>  //TODO: although the following are referenced widely to format strings for<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  //      the shell. They really aren't a part of the public API. It would be<a name="line.610"></a>
-<span class="sourceLineNo">611</span>  //      nice if we could put them somewhere where they did not need to be<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  //      public. They could have package visibility<a name="line.612"></a>
-<span class="sourceLineNo">613</span>  public static final String NAME = "NAME";<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  public static final String VERSIONS = "VERSIONS";<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  public static final String IN_MEMORY = "IN_MEMORY";<a name="line.615"></a>
-<span class="sourceLineNo">616</span>  public static final String METADATA = "METADATA";<a name="line.616"></a>
-<span class="sourceLineNo">617</span>  public static final String CONFIGURATION = "CONFIGURATION";<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>   * Retrying we multiply hbase.client.pause setting by what we have in this array until we<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * run out of array items.  Retries beyond this use the last number in the array.  So, for<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   * example, if hbase.client.pause is 1 second, and maximum retries count<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   * hbase.client.retries.number is 10, we will retry at the following intervals:<a name="line.623"></a>
-<span class="sourceLineNo">624</span>   * 1, 2, 3, 5, 10, 20, 40, 100, 100, 100.<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   * With 100ms, a back-off of 200 means 20s<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   */<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  public static final int [] RETRY_BACKOFF = {1, 2, 3, 5, 10, 20, 40, 100, 100, 100, 100, 200, 200};<a name="line.627"></a>
-<span class="sourceLineNo">628</span><a name="line.628"></a>
-<span class="sourceLineNo">629</span>  public static final String REGION_IMPL = "hbase.hregion.impl";<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>   * Scope tag for locally scoped data.<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * This data will not be replicated.<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   */<a name="line.634"></a>
-<span class="sourceLineNo">635</span>  public static final int REPLICATION_SCOPE_LOCAL = 0;<a name="line.635"></a>
+<span class="sourceLineNo">605</span>//  public static final int FOREVER = -1;<a name="line.605"></a>
+<span class="sourceLineNo">606</span>  public static final int FOREVER = Integer.MAX_VALUE;<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>   * Seconds in a day, hour and minute<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   */<a name="line.610"></a>
+<span class="sourceLineNo">611</span>  public static final int DAY_IN_SECONDS = 24 * 60 * 60;<a name="line.611"></a>
+<span class="sourceLineNo">612</span>  public static final int HOUR_IN_SECONDS = 60 * 60;<a name="line.612"></a>
+<span class="sourceLineNo">613</span>  public static final int MINUTE_IN_SECONDS = 60;<a name="line.613"></a>
+<span class="sourceLineNo">614</span><a name="line.614"></a>
+<span class="sourceLineNo">615</span>  //TODO: although the following are referenced widely to format strings for<a name="line.615"></a>
+<span class="sourceLineNo">616</span>  //      the shell. They really aren't a part of the public API. It would be<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  //      nice if we could put them somewhere where they did not need to be<a name="line.617"></a>
+<span class="sourceLineNo">618</span>  //      public. They could have package visibility<a name="line.618"></a>
+<span class="sourceLineNo">619</span>  public static final String NAME = "NAME";<a name="line.619"></a>
+<span class="sourceLineNo">620</span>  public static final String VERSIONS = "VERSIONS";<a name="line.620"></a>
+<span class="sourceLineNo">621</span>  public static final String IN_MEMORY = "IN_MEMORY";<a name="line.621"></a>
+<span class="sourceLineNo">622</span>  public static final String METADATA = "METADATA";<a name="line.622"></a>
+<span class="sourceLineNo">623</span>  public static final String CONFIGURATION = "CONFIGURATION";<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>   * Retrying we multiply hbase.client.pause setting by what we have in this array until we<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   * run out of array items.  Retries beyond this use the last number in the array.  So, for<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   * example, if hbase.client.pause is 1 second, and maximum retries count<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   * hbase.client.retries.number is 10, we will retry at the following intervals:<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * 1, 2, 3, 5, 10, 20, 40, 100, 100, 100.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   * With 100ms, a back-off of 200 means 20s<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
+<span class="sourceLineNo">633</span>  public static final int [] RETRY_BACKOFF = {1, 2, 3, 5, 10, 20, 40, 100, 100, 100, 100, 200, 200};<a name="line.633"></a>
+<span class="sourceLineNo">634</span><a name="line.634"></a>
+<span class="sourceLineNo">635</span>  public static final String REGION_IMPL = "hbase.hregion.impl";<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>   * Scope tag for globally scoped data.<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * This data will be replicated to all peers.<a name="line.639"></a>
+<span class="sourceLineNo">638</span>   * Scope tag for locally scoped data.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>   * This data will not be replicated.<a name="line.639"></a>
 <span class="sourceLineNo">640</span>   */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  public static final int REPLICATION_SCOPE_GLOBAL = 1;<a name="line.641"></a>
+<span class="sourceLineNo">641</span>  public static final int REPLICATION_SCOPE_LOCAL = 0;<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
 <span class="sourceLineNo">643</span>  /**<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * Default cluster ID, cannot be used to identify a cluster so a key with<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * this value means it wasn't meant for replication.<a name="line.645"></a>
+<span class="sourceLineNo">644</span>   * Scope tag for globally scoped data.<a name="line.644"></a>
+<span class="sourceLineNo">645</span>   * This data will be replicated to all peers.<a name="line.645"></a>
 <span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);<a name="line.647"></a>
+<span class="sourceLineNo">647</span>  public static final int REPLICATION_SCOPE_GLOBAL = 1;<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   * Controlled by the client.<a name="line.651"></a>
+<span class="sourceLineNo">650</span>   * Scope tag for serially scoped data<a name="line.650"></a>
+<span class="sourceLineNo">651</span>   * This data will be replicated to all peers by the order of sequence id.<a name="line.651"></a>
 <span class="sourceLineNo">652</span>   */<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  public static final String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      "hbase.client.scanner.max.result.size";<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * Controlled by the server.<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  public static final String HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      "hbase.server.scanner.max.result.size";<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   * Note that when a single row is larger than this limit the row is still<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   * returned completely.<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   *<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * The default value is 2MB.<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   */<a name="line.669"></a>
-<span class="sourceLineNo">670</span>  public static final long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = 2 * 1024 * 1024;<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * Note that when a single row is larger than this limit the row is still<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   * returned completely.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   * Safety setting to protect the region server.<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   *<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * The default value is 100MB. (a client would rarely request larger chunks on purpose)<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   */<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  public static final long DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE = 100 * 1024 * 1024;<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>   * Parameter name for client pause value, used mostly as value to wait<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * before running a retry of a failed get, region lookup, etc.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  public static final String HBASE_CLIENT_PAUSE = "hbase.client.pause";<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>   * Default value of {@link #HBASE_CLIENT_PAUSE}.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   */<a name="line.690"></a>
-<span class="sourceLineNo">691</span>  public static final long DEFAULT_HBASE_CLIENT_PAUSE = 100;<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>   * Parameter name for client pause value for special case such as call queue too big, etc.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   */<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  public static final String HBASE_CLIENT_PAUSE_FOR_CQTBE = "hbase.client.pause.cqtbe";<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>   * The maximum number of concurrent connections the client will maintain.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static final String HBASE_CLIENT_MAX_TOTAL_TASKS = "hbase.client.max.total.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_TOTAL_TASKS}.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   */<a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS = 100;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * RegionServer.<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   */<a name="line.711"></a>
-<span class="sourceLineNo">712</span>  public static final String HBASE_CLIENT_MAX_PERSERVER_TASKS = "hbase.client.max.perserver.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERSERVER_TASKS}.<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   */<a name="line.716"></a>
-<span class="sourceLineNo">717</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS = 2;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * Region.<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   */<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  public static final String HBASE_CLIENT_MAX_PERREGION_TASKS = "hbase.client.max.perregion.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERREGION_TASKS}.<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   */<a name="line.727"></a>
-<span class="sourceLineNo">728</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS = 1;<a name="line.728"></a>
-<span class="sourceLineNo">729</span><a name="line.729"></a>
-<span class="sourceLineNo">730</span>  /**<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   * The maximum number of concurrent pending RPC requests for one server in process level.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   */<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  public static final String HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD =<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      "hbase.client.perserver.requests.threshold";<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>  /**<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * Default value of {@link #HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD}.<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   */<a name="line.738"></a>
-<span class="sourceLineNo">739</span>  public static final int DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD = Integer.MAX_VALUE;<a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
+<span class="sourceLineNo">653</span>  public static final int REPLICATION_SCOPE_SERIAL = 2;<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>   * Default cluster ID, cannot be used to identify a cluster so a key with<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * this value means it wasn't meant for replication.<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.662"></a>
+<span class="sourceLineNo">663</span>   * Controlled by the client.<a name="line.663"></a>
+<span class="sourceLineNo">664</span>   */<a name="line.664"></a>
+<span class="sourceLineNo">665</span>  public static final String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      "hbase.client.scanner.max.result.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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.669"></a>
+<span class="sourceLineNo">670</span>   * Controlled by the server.<a name="line.670"></a>
+<span class="sourceLineNo">671</span>   */<a name="line.671"></a>
+<span class="sourceLineNo">672</span>  public static final String HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      "hbase.server.scanner.max.result.size";<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.676"></a>
+<span class="sourceLineNo">677</span>   * Note that when a single row is larger than this limit the row is still<a name="line.677"></a>
+<span class="sourceLineNo">678</span>   * returned completely.<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   *<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   * The default value is 2MB.<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   */<a name="line.681"></a>
+<span class="sourceLineNo">682</span>  public static final long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = 2 * 1024 * 1024;<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Note that when a single row is larger than this limit the row is still<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * returned completely.<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * Safety setting to protect the region server.<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   *<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * The default value is 100MB. (a client would rarely request larger chunks on purpose)<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   */<a name="line.691"></a>
+<span class="sourceLineNo">692</span>  public static final long DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE = 100 * 1024 * 1024;<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>   * Parameter name for client pause value, used mostly as value to wait<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * before running a retry of a failed get, region lookup, etc.<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   */<a name="line.697"></a>
+<span class="sourceLineNo">698</span>  public static final String HBASE_CLIENT_PAUSE = "hbase.client.pause";<a name="line.698"></a>
+<span class="sourceLineNo">699</span><a name="line.699"></a>
+<span class="sourceLineNo">700</span>  /**<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   * Default value of {@link #HBASE_CLIENT_PAUSE}.<a name="line.701"></a>
+<span class="sourceLineNo">702</span>   */<a name="line.702"></a>
+<span class="sourceLineNo">703</span>  public static final long DEFAULT_HBASE_CLIENT_PAUSE = 100;<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>   * Parameter name for client pause value for special case such as call queue too big, etc.<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   */<a name="line.707"></a>
+<span class="sourceLineNo">708</span>  public static final String HBASE_CLIENT_PAUSE_FOR_CQTBE = "hbase.client.pause.cqtbe";<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>   * The maximum number of concurrent connections the client will maintain.<a name="line.711"></a>
+<span class="sourceLineNo">712</span>   */<a name="line.712"></a>
+<span class="sourceLineNo">713</span>  public static final String HBASE_CLIENT_MAX_TOTAL_TASKS = "hbase.client.max.total.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_TOTAL_TASKS}.<a name="line.716"></a>
+<span class="sourceLineNo">717</span>   */<a name="line.717"></a>
+<span class="sourceLineNo">718</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS = 100;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.721"></a>
+<span class="sourceLineNo">722</span>   * RegionServer.<a name="line.722"></a>
+<span class="sourceLineNo">723</span>   */<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  public static final String HBASE_CLIENT_MAX_PERSERVER_TASKS = "hbase.client.max.perserver.tasks";<a name="line.724"></a>
+<span class="sourceLineNo">725</span><a name="line.725"></a>
+<span class="sourceLineNo">726</span>  /**<a name="line.726"></a>
+<span class="sourceLineNo">727</span>   * Default value of {@link #HBASE_CLIENT_MAX_PERSERVER_TASKS}.<a name="line.727"></a>
+<span class="sourceLineNo">728</span>   */<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS = 2;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.732"></a>
+<span class="sourceLineNo">733</span>   * Region.<a name="line.733"></a>
+<span class="sourceLineNo">734</span>   */<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  public static final String HBASE_CLIENT_MAX_PERREGION_TASKS = "hbase.client.max.perregion.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERREGION_TASKS}.<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   */<a name="line.739"></a>
+<span class="sourceLineNo">740</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS = 1;<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>   * Parameter name for server pause value, used mostly as value to wait before<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * running a retry of a failed operation.<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   */<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  public static final String HBASE_SERVER_PAUSE = "hbase.server.pause";<a name="line.746"></a>
+<span class="sourceLineNo">743</span>   * The maximum number of concurrent pending RPC requests for one server in process level.<a name="line.743"></a>
+<span class="sourceLineNo">744</span>   */<a name="line.744"></a>
+<span class="sourceLineNo">745</span>  public static final String HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD =<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      "hbase.client.perserver.requests.threshold";<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>   * Default value of {@link #HBASE_SERVER_PAUSE}.<a name="line.749"></a>
+<span class="sourceLineNo">749</span>   * Default value of {@link #HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD}.<a name="line.749"></a>
 <span class="sourceLineNo">750</span>   */<a name="line.750"></a>
-<span class="sourceLineNo">751</span>  public static final int DEFAULT_HBASE_SERVER_PAUSE = 1000;<a name="line.751"></a>
+<span class="sourceLineNo">751</span>  public static final int DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD = Integer.MAX_VALUE;<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>   * Parameter name for maximum retries, used as maximum for all retryable<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * operations such as fetching of the root region from root region server,<a name="line.755"></a>
-<span class="sourceLineNo">756</span>   * getting a cell's value, starting a row update, etc.<a name="line.756"></a>
+<span class="sourceLineNo">753</span><a name="line.753"></a>
+<span class="sourceLineNo">754</span>  /**<a name="line.754"></a>
+<span class="sourceLineNo">755</span>   * Parameter name for server pause value, used mostly as value to wait before<a name="line.755"></a>
+<span class="sourceLineNo">756</span>   * running a retry of a failed operation.<a name="line.756"></a>
 <span class="sourceLineNo">757</span>   */<a name="line.757"></a>
-<span class="sourceLineNo">758</span>  public static final String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";<a name="line.758"></a>
+<span class="sourceLineNo">758</span>  public static final String HBASE_SERVER_PAUSE = "hbase.server.pause";<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>   * Default value of {@link #HBASE_CLIENT_RETRIES_NUMBER}.<a name="line.761"></a>
+<span class="sourceLineNo">761</span>   * Default value of {@link #HBASE_SERVER_PAUSE}.<a name="line.761"></a>
 <span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  public static final int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 15;<a name="line.763"></a>
+<span class="sourceLineNo">763</span>  public static final int DEFAULT_HBASE_SERVER_PAUSE = 1000;<a name="line.763"></a>
 <span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  public static final String HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER =<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      "hbase.client.serverside.retries.multiplier";<a name="line.766"></a>
-<span class="sourceLineNo">767</span><a name="line.767"></a>
-<span class="sourceLineNo">768</span>  public static final int DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER = 3;<a name="line.768"></a>
-<span class="sourceLineNo">769</span><a name="line.769"></a>
-<span class="sourceLineNo">770</span>  /**<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * Parameter name to set the default scanner caching for all clients.<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  public static final String HBASE_CLIENT_SCANNER_CACHING = "hbase.client.scanner.caching";<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  /**<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * Default value for {@link #HBASE_CLIENT_SCANNER_CACHING}<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
-<span class="sourceLineNo">778</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_CACHING = Integer.MAX_VALUE;<a name="line.778"></a>
+<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
+<span class="sourceLineNo">766</span>   * Parameter name for maximum retries, used as maximum for all retryable<a name="line.766"></a>
+<span class="sourceLineNo">767</span>   * operations such as fetching of the root region from root region server,<a name="line.767"></a>
+<span class="sourceLineNo">768</span>   * getting a cell's value, starting a row update, etc.<a name="line.768"></a>
+<span class="sourceLineNo">769</span>   */<a name="line.769"></a>
+<span class="sourceLineNo">770</span>  public static final String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";<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>   * Default value of {@link #HBASE_CLIENT_RETRIES_NUMBER}.<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   */<a name="line.774"></a>
+<span class="sourceLineNo">775</span>  public static final int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 15;<a name="line.775"></a>
+<span class="sourceLineNo">776</span><a name="line.776"></a>
+<span class="sourceLineNo">777</span>  public static final String HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER =<a name="line.777"></a>
+<span class="sourceLineNo">778</span>      "hbase.client.serverside.retries.multiplier";<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>   * Parameter name for number of rows that will be fetched when calling next on<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * a scanner if it is not served from memory. Higher caching values will<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * enable faster scanners but will eat up more memory and some calls of next<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * may take longer and longer times when the cache is empty.<a name="line.784"></a>
-<span class="sourceLineNo">785</span>   */<a name="line.785"></a>
-<span class="sourceLineNo">786</span>  public static final String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";<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>   * Default value of {@link #HBASE_META_SCANNER_CACHING}.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>   */<a name="line.790"></a>
-<span class="sourceLineNo">791</span>  public static final int DEFAULT_HBASE_META_SCANNER_CACHING = 100;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  public static final String HBASE_META_VERSIONS = "hbase.meta.versions";<a name="line.796"></a>
-<span class="sourceLineNo">797</span><a name="line.797"></a>
-<span class="sourceLineNo">798</span>  /**<a name="line.798"></a>
-<span class="sourceLineNo">799</span>   * Default value of {@link #HBASE_META_VERSIONS}.<a name="line.799"></a>
-<span class="sourceLineNo">800</span>   */<a name="line.800"></a>
-<span class="sourceLineNo">801</span>  public static final int DEFAULT_HBASE_META_VERSIONS = 3;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.804"></a>
-<span class="sourceLineNo">805</span>   */<a name="line.805"></a>
-<span class="sourceLineNo">806</span>  public static final String HBASE_META_BLOCK_SIZE = "hbase.meta.blocksize";<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>  /**<a name="line.808"></a>
-<span class="sourceLineNo">809</span>   * Default value of {@link #HBASE_META_BLOCK_SIZE}.<a name="line.809"></a>
-<span class="sourceLineNo">810</span>   */<a name="line.810"></a>
-<span class="sourceLineNo">811</span>  public static final int DEFAULT_HBASE_META_BLOCK_SIZE = 8 * 1024;<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>   * Parameter name for unique identifier for this {@link org.apache.hadoop.conf.Configuration}<a name="line.814"></a>
-<span class="sourceLineNo">815</span>   * instance. If there are two or more {@link org.apache.hadoop.conf.Configuration} instances that,<a name="line.815"></a>
-<span class="sourceLineNo">816</span>   * for all intents and purposes, are the same except for their instance ids, then they will not be<a name="line.816"></a>
-<span class="sourceLineNo">817</span>   * able to share the same org.apache.hadoop.hbase.client.HConnection instance. On the other hand,<a name="line.817"></a>
-<span class="sourceLineNo">818</span>   * even if the instance ids are the same, it could result in non-shared<a name="line.818"></a>
-<span class="sourceLineNo">819</span>   * org.apache.hadoop.hbase.client.HConnection instances if some of the other connection parameters<a name="line.819"></a>
-<span class="sourceLineNo">820</span>   * differ.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   */<a name="line.821"></a>
-<span class="sourceLineNo">822</span>  public static final String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>  /**<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * The client scanner timeout period in milliseconds.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   */<a name="line.826"></a>
-<span class="sourceLineNo">827</span>  public static final String HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD =<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      "hbase.client.scanner.timeout.period";<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>   * Use {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD} instead.<a name="line.831"></a>
-<span class="sourceLineNo">832</span>   * @deprecated This config option is deprecated. Will be removed at later releases after 0.96.<a name="line.832"></a>
+<span class="sourceLineNo">780</span>  public static final int DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER = 3;<a name="line.780"></a>
+<span class="sourceLineNo">781</span><a name="line.781"></a>
+<span class="sourceLineNo">782</span>  /**<a name="line.782"></a>
+<span class="sourceLineNo">783</span>   * Parameter name to set the default scanner caching for all clients.<a name="line.783"></a>
+<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
+<span class="sourceLineNo">785</span>  public static final String HBASE_CLIENT_SCANNER_CACHING = "hbase.client.scanner.caching";<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>   * Default value for {@link #HBASE_CLIENT_SCANNER_CACHING}<a name="line.788"></a>
+<span class="sourceLineNo">789</span>   */<a name="line.789"></a>
+<span class="sourceLineNo">790</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_CACHING = Integer.MAX_VALUE;<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>   * Parameter name for number of rows that will be fetched when calling next on<a name="line.793"></a>
+<span class="sourceLineNo">794</span>   * a scanner if it is not served from memory. Higher caching values will<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * enable faster scanners but will eat up more memory and some calls of next<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * may take longer and longer times when the cache is empty.<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  public static final String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";<a name="line.798"></a>
+<span class="sourceLineNo">799</span><a name="line.799"></a>
+<span class="sourceLineNo">800</span>  /**<a name="line.800"></a>
+<span class="sourceLineNo">801</span>   * Default value of {@link #HBASE_META_SCANNER_CACHING}.<a name="line.801"></a>
+<span class="sourceLineNo">802</span>   */<a name="line.802"></a>
+<span class="sourceLineNo">803</span>  public static final int DEFAULT_HBASE_META_SCANNER_CACHING = 100;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   */<a name="line.807"></a>
+<span class="sourceLineNo">808</span>  public static final String HBASE_META_VERSIONS = "hbase.meta.versions";<a name="line.808"></a>
+<span class="sourceLineNo">809</span><a name="line.809"></a>
+<span class="sourceLineNo">810</span>  /**<a name="line.810"></a>
+<span class="sourceLineNo">811</span>   * Default value of {@link #HBASE_META_VERSIONS}.<a name="line.811"></a>
+<span class="sourceLineNo">812</span>   */<a name="line.812"></a>
+<span class="sourceLineNo">813</span>  public static final int DEFAULT_HBASE_META_VERSIONS = 3;<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>  /**<a name="line.815"></a>
+<span class="sourceLineNo">816</span>   * Parameter name for number of versions, kept by meta table.<a name="line.816"></a>
+<span class="sourceLineNo">817</span>   */<a name="line.817"></a>
+<span class="sourceLineNo">818</span>  public static final String HBASE_META_BLOCK_SIZE = "hbase.meta.blocksize";<a name="line.818"></a>
+<span class="sourceLineNo">819</span><a name="line.819"></a>
+<span class="sourceLineNo">820</span>  /**<a name="line.820"></a>
+<span class="sourceLineNo">821</span>   * Default value of {@link #HBASE_META_BLOCK_SIZE}.<a name="line.821"></a>
+<span class="sourceLineNo">822</span>   */<a name="line.822"></a>
+<span class="sourceLineNo">823</span>  public static final int DEFAULT_HBASE_META_BLOCK_SIZE = 8 * 1024;<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>  /**<a name="line.825"></a>
+<span class="sourceLineNo">826</span>   * Parameter name for unique identifier for this {@link org.apache.hadoop.conf.Configuration}<a name="line.826"></a>
+<span class="sourceLineNo">827</span>   * instance. If there are two or more {@link org.apache.hadoop.conf.Configuration} instances that,<a name="line.827"></a>
+<span class="sourceLineNo">828</span>   * for all intents and purposes, are the same except for their instance ids, then they will not be<a name="line.828"></a>
+<span class="sourceLineNo">829</span>   * able to share the same org.apache.hadoop.hbase.client.HConnection instance. On the other hand,<a name="line.829"></a>
+<span class="sourceLineNo">830</span>   * even if the instance ids are the same, it could result in non-shared<a name="line.830"></a>
+<span class="sourceLineNo">831</span>   * org.apache.hadoop.hbase.client.HConnection instances if some of the other connection parameters<a name="line.831"></a>
+<span class="sourceLineNo">832</span>   * differ.<a name="line.832"></a>
 <span class="sourceLineNo">833</span>   */<a name="line.833"></a>
-<span class="sourceLineNo">834</span>  @Deprecated<a name="line.834"></a>
-<span class="sourceLineNo">835</span>  public static final String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      "hbase.regionserver.lease.period";<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>   * Default value of {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD}.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   */<a name="line.840"></a>
-<span class="sourceLineNo">841</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD = 60000;<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>   * timeout for each RPC<a name="line.844"></a>
+<span class="sourceLineNo">834</span>  public static final String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";<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>   * The client scanner timeout period in milliseconds.<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   */<a name="line.838"></a>
+<span class="sourceLineNo">839</span>  public static final String HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD =<a name="line.839"></a>
+<span class="sourceLineNo">840</span>      "hbase.client.scanner.timeout.period";<a name="line.840"></a>
+<span class="sourceLineNo">841</span><a name="line.841"></a>
+<span class="sourceLineNo">842</span>  /**<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * Use {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD} instead.<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   * @deprecated This config option is deprecated. Will be removed at later releases after 0.96.<a name="line.844"></a>
 <span class="sourceLineNo">845</span>   */<a name="line.845"></a>
-<span class="sourceLineNo">846</span>  public static final String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";<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>   * timeout for each read RPC<a name="line.849"></a>
-<span class="sourceLineNo">850</span>   */<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  public static final String HBASE_RPC_READ_TIMEOUT_KEY = "hbase.rpc.read.timeout";<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>   * timeout for each write RPC<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   */<a name="line.855"></a>
-<span class="sourceLineNo">856</span>  public static final String HBASE_RPC_WRITE_TIMEOUT_KEY = "hbase.rpc.write.timeout";<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>   * Default value of {@link #HBASE_RPC_TIMEOUT_KEY}<a name="line.859"></a>
-<span class="sourceLineNo">860</span>   */<a name="line.860"></a>
-<span class="sourceLineNo">861</span>  public static final int DEFAULT_HBASE_RPC_TIMEOUT = 60000;<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>   * timeout for short operation RPC<a name="line.864"></a>
-<span class="sourceLineNo">865</span>   */<a name="line.865"></a>
-<span class="sourceLineNo">866</span>  public static final String HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY =<a name="line.866"></a>
-<span class="sourceLineNo">867</span>      "hbase.rpc.shortoperation.timeout";<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>   * Default value of {@link #HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY}<a name="line.870"></a>
-<span class="sourceLineNo">871</span>   */<a name="line.871"></a>
-<span class="sourceLineNo">872</span>  public static final int DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT = 10000;<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>   * Value indicating the server name was saved with no sequence number.<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   */<a name="line.876"></a>
-<span class="sourceLineNo">877</span>  public static final long NO_SEQNUM = -1;<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>  /*<a name="line.880"></a>
-<span class="sourceLineNo">881</span>   * cluster replication constants.<a name="line.881"></a>
-<span class="sourceLineNo">882</span>   */<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  public static final String<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";<a name="line.884"></a>
-<span class="sourceLineNo">885</span>  public static final String<a name="line.885"></a>
-<span class="sourceLineNo">886</span>      REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";<a name="line.886"></a>
-<span class="sourceLineNo">887</span>  public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    "org.apache.hadoop.hbase.replication.regionserver.Replication";<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  public static final String REPLICATION_BULKLOAD_ENABLE_KEY = "hbase.replication.bulkload.enabled";<a name="line.889"></a>
-<span class="sourceLineNo">890</span>  public static final boolean REPLICATION_BULKLOAD_ENABLE_DEFAULT = false;<a name="line.890"></a>
-<span class="sourceLineNo">891</span>  /** Replication cluster id of source cluster which uniquely identifies itself with peer cluster */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  public static final String REPLICATION_CLUSTER_ID = "hbase.replication.cluster.id";<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   * Max total size of buffered entries in all replication peers. It will prevent server getting<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * OOM if there are many peers. Default value is 256MB which is four times to default<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * replication.source.size.capacity.<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  public static final String REPLICATION_SOURCE_TOTAL_BUFFER_KEY = "replication.total.buffer.quota";<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>  public static final int REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT = 256 * 1024 * 1024;<a name="line.900"></a>
-<span class="sourceLineNo">901</span><a name="line.901"></a>
-<span class="sourceLineNo">902</span><a name="line.902"></a>
-<span class="sourceLineNo">903</span>  /**<a name="line.903"></a>
-<span class="sourceLineNo">904</span>   * Directory where the source cluster file system client configuration are placed which is used by<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * sink cluster to copy HFiles from source cluster file system<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  public static final String REPLICATION_CONF_DIR = "hbase.replication.conf.dir";<a name="line.907"></a>
-<span class="sourceLineNo">908</span><a name="line.908"></a>
-<span class="sourceLineNo">909</span>  /** Maximum time to retry for a failed bulk load request */<a name="line.909"></a>
-<span class="sourceLineNo">910</span>  public static final String BULKLOAD_MAX_RETRIES_NUMBER = "hbase.bulkload.retries.number";<a name="line.910"></a>
+<span class="sourceLineNo">846</span>  @Deprecated<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  public static final String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =<a name="line.847"></a>
+<span class="sourceLineNo">848</span>      "hbase.regionserver.lease.period";<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>   * Default value of {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD}.<a name="line.851"></a>
+<span class="sourceLineNo">852</span>   */<a name="line.852"></a>
+<span class="sourceLineNo">853</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD = 60000;<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>   * timeout for each RPC<a name="line.856"></a>
+<span class="sourceLineNo">857</span>   */<a name="line.857"></a>
+<span class="sourceLineNo">858</span>  public static final String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";<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>   * timeout for each read RPC<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   */<a name="line.862"></a>
+<span class="sourceLineNo">863</span>  public static final String HBASE_RPC_READ_TIMEOUT_KEY = "hbase.rpc.read.timeout";<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>   * timeout for each write RPC<a name="line.866"></a>
+<span class="sourceLineNo">867</span>   */<a name="line.867"></a>
+<span class="sourceLineNo">868</span>  public static final String HBASE_RPC_WRITE_TIMEOUT_KEY = "hbase.rpc.write.timeout";<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>   * Default value of {@link #HBASE_RPC_TIMEOUT_KEY}<a name="line.871"></a>
+<span class="sourceLineNo">872</span>   */<a name="line.872"></a>
+<span class="sourceLineNo">873</span>  public static final int DEFAULT_HBASE_RPC_TIMEOUT = 60000;<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>   * timeout for short operation RPC<a name="line.876"></a>
+<span class="sourceLineNo">877</span>   */<a name="line.877"></a>
+<span class="sourceLineNo">878</span>  public static final String HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY =<a name="line.878"></a>
+<span class="sourceLineNo">879</span>      "hbase.rpc.shortoperation.timeout";<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>   * Default value of {@link #HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY}<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   */<a name="line.883"></a>
+<span class="sourceLineNo">884</span>  public static final int DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT = 10000;<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>   * Value indicating the server name was saved with no sequence number.<a name="line.887"></a>
+<span class="sourceLineNo">888</span>   */<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  public static final long NO_SEQNUM = -1;<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span>  /*<a name="line.892"></a>
+<span class="sourceLineNo">893</span>   * cluster replication constants.<a name="line.893"></a>
+<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
+<span class="sourceLineNo">895</span>  public static final String<a name="line.895"></a>
+<span class="sourceLineNo">896</span>      REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";<a name="line.896"></a>
+<span class="sourceLineNo">897</span>  public static final String<a name="line.897"></a>
+<span class="sourceLineNo">898</span>      REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";<a name="line.898"></a>
+<span class="sourceLineNo">899</span>  public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =<a name="line.899"></a>
+<span class="sourceLineNo">900</span>    "org.apache.hadoop.hbase.replication.regionserver.Replication";<a name="line.900"></a>
+<span class="sourceLineNo">901</span>  public static final String REPLICATION_BULKLOAD_ENABLE_KEY = "hbase.replication.bulkload.enabled";<a name="line.901"></a>
+<span class="sourceLineNo">902</span>  public static final boolean REPLICATION_BULKLOAD_ENABLE_DEFAULT = false;<a name="line.902"></a>
+<span class="sourceLineNo">903</span>  /** Replication cluster id of source cluster which uniquely identifies itself with peer cluster */<a name="line.903"></a>
+<span class="sourceLineNo">904</span>  public static final String REPLICATION_CLUSTER_ID = "hbase.replication.cluster.id";<a name="line.904"></a>
+<span class="sourceLineNo">905</span>  /**<a name="line.905"></a>
+<span class="sourceLineNo">906</span>   * Max total size of buffered entries in all replication peers. It will prevent server getting<a name="line.906"></a>
+<span class="sourceLineNo">907</span>   * OOM if there are many peers. Default value is 256MB which is four times to default<a name="line.907"></a>
+<span class="sourceLineNo">908</span>   * replication.source.size.capacity.<a name="line.908"></a>
+<span class="sourceLineNo">909</span>   */<a name="line.909"></a>
+<span class="sourceLineNo">910</span>  public static final String REPLICATION_SOURCE_TOTAL_BUFFER_KEY = "replication.total.buffer.quota";<a name="line.910"></a>
 <span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>  public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    "hbase.regionserver.hostname.seen.by.master";<a name="line.913"></a>
+<span class="sourceLineNo">912</span>  public static final int REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT = 256 * 1024 * 1024;<a name="line.912"></a>
+<span class="sourceLineNo">913</span><a name="line.913"></a>
 <span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>  public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      "hbase.master.logcleaner.plugins";<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>  public static final String HBASE_REGION_SPLIT_POLICY_KEY =<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    "hbase.regionserver.region.split.policy";<a name="line.919"></a>
+<span class="sourceLineNo">915</span>  /**<a name="line.915"></a>
+<span class="sourceLineNo">916</span>   * Directory where the source cluster file system client configuration are placed which is used by<a name="line.916"></a>
+<span class="sourceLineNo">917</span>   * sink cluster to copy HFiles from source cluster file system<a name="line.917"></a>
+<span class="sourceLineNo">918</span>   */<a name="line.918"></a>
+<span class="sourceLineNo">919</span>  public static final String REPLICATION_CONF_DIR = "hbase.replication.conf.dir";<a name="line.919"></a>
 <span class="sourceLineNo">920</span><a name="line.920"></a>
-<span class="sourceLineNo">921</span>  /** Whether nonces are enabled; default is true. */<a name="line.921"></a>
-<span class="sourceLineNo">922</span>  public static final String HBASE_RS_NONCES_ENABLED = "hbase.regionserver.nonces.enabled";<a name="line.922"></a>
+<span class="sourceLineNo">921</span>  /** Maximum time to retry for a failed bulk load request */<a name="line.921"></a>
+<span class="sourceLineNo">922</span>  public static final String BULKLOAD_MAX_RETRIES_NUMBER = "hbase.bulkload.retries.number";<a name="line.922"></a>
 <span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>  /**<a name="line.924"></a>
-<span class="sourceLineNo">925</span>   * Configuration key for the size of the block cache<a name="line.925"></a>
-<span class="sourceLineNo">926</span>   */<a name="line.926"></a>
-<span class="sourceLineNo">927</span>  public static final String HFILE_BLOCK_CACHE_SIZE_KEY =<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    "hfile.block.cache.size";<a name="line.928"></a>
+<span class="sourceLineNo">924</span>  public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    "hbase.regionserver.hostname.seen.by.master";<a name="line.925"></a>
+<span class="sourceLineNo">926</span><a name="line.926"></a>
+<span class="sourceLineNo">927</span>  public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =<a name="line.927"></a>
+<span class="sourceLineNo">928</span>      "hbase.master.logcleaner.plugins";<a name="line.928"></a>
 <span class="sourceLineNo">929</span><a name="line.929"></a>
-<span class="sourceLineNo">930</span>  public static final float HFILE_BLOCK_CACHE_SIZE_DEFAULT = 0.4f;<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>  /*<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    * Minimum percentage of free heap necessary for a successful cluster startup.<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    */<a name="line.934"></a>
-<span class="sourceLineNo">935</span>  public static final float HBASE_CLUSTER_MINIMUM_MEMORY_THRESHOLD = 0.2f;<a name="line.935"></a>
-<span class="sourceLineNo">936</span><a name="line.936"></a>
-<span class="sourceLineNo">937</span>  public static final Pattern CP_HTD_ATTR_KEY_PATTERN =<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      Pattern.compile("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE);<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>   * &lt;pre&gt;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>   * Pattern that matches a coprocessor specification. Form is:<a name="line.942"></a>
-<span class="sourceLineNo">943</span>   * {@code &lt;coprocessor jar file location&gt; '|' &lt;class name&gt; ['|' &lt;priority&gt; ['|' &lt;arguments&gt;]]}<a name="line.943"></a>
-<span class="sourceLineNo">944</span>   * where arguments are {@code &lt;KEY&gt; '=' &lt;VALUE&gt; [,...]}<a name="line.944"></a>
-<span class="sourceLineNo">945</span>   * For example: {@code hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2}<a name="line.945"></a>
-<span class="sourceLineNo">946</span>   * &lt;/pre&gt;<a name="line.946"></a>
-<span class="sourceLineNo">947</span>   */<a name="line.947"></a>
-<span class="sourceLineNo">948</span>  public static final Pattern CP_HTD_ATTR_VALUE_PATTERN =<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      Pattern.compile("(^[^\\|]*)\\|([^\\|]+)\\|[\\s]*([\\d]*)[\\s]*(\\|.*)?$");<a name="line.949"></a>
-<span class="sourceLineNo">950</span><a name="line.950"></a>
-<span class="sourceLineNo">951</span>  public static final String CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN = "[^=,]+";<a name="line.951"></a>
-<span class="sourceLineNo">952</span>  public static final String CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN = "[^,]+";<a name="line.952"></a>
-<span class="sourceLineNo">953</span>  public static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile(<a name="line.953"></a>
-<span class="sourceLineNo">954</span>      "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" +<a name="line.954"></a>
-<span class="sourceLineNo">955</span>      CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?");<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  public static final String CP_HTD_ATTR_INCLUSION_KEY =<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      "hbase.coprocessor.classloader.included.classes";<a name="line.957"></a>
-<span class="sourceLineNo">958</span><a name="line.958"></a>
-<span class="sourceLineNo">959</span>  /** The delay when re-trying a socket operation in a loop (HBASE-4712) */<a name="line.959"></a>
-<span class="sourceLineNo">960</span>  public static final int SOCKET_RETRY_WAIT_MS = 200;<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span>  /** Host name of the local machine */<a name="line.962"></a>
-<span class="sourceLineNo">963</span>  public static final String LOCALHOST = "localhost";<a name="line.963"></a>
-<span class="sourceLineNo">964</span><a name="line.964"></a>
-<span class="sourceLineNo">965</span>  /**<a name="line.965"></a>
-<span class="sourceLineNo">966</span>   * If this parameter is set to true, then hbase will read<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * data and then verify checksums. Checksum verification<a name="line.967"></a>
-<span class="sourceLineNo">968</span>   * inside hdfs will be switched off.  However, if the hbase-checksum<a name="line.968"></a>
-<spa

<TRUNCATED>

[27/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html
index 2b5efbb..f0821d4 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" target="_top">Frames</a></li>
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -126,7 +126,8 @@ var activeTableTab = "activeTableTab";
  @InterfaceStability.Evolving
 public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.54">ReplicationSourceWALReader</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
-<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches onto a queue</div>
+<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches
+ onto a queue</div>
 </li>
 </ul>
 </div>
@@ -139,19 +140,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <!--   -->
 </a>
 <h3>Nested Class Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></span></code>
-<div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
-</td>
-</tr>
-</table>
 <ul class="blockList">
 <li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
 <!--   -->
@@ -182,7 +170,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#currentPosition">currentPosition</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&gt;</code></td>
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#entryBatchQueue">entryBatchQueue</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -222,18 +210,22 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#replicationBatchSizeCapacity">replicationBatchSizeCapacity</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#serialReplicationChecker">serialReplicationChecker</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#sleepForRetries">sleepForRetries</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#source">source</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#totalBufferQuota">totalBufferQuota</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="https://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></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#totalBufferUsed">totalBufferUsed</a></span></code>&nbsp;</td>
 </tr>
@@ -317,8 +309,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
-                        org.apache.hadoop.fs.Path&nbsp;currentPath)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch</a></span>(org.apache.hadoop.fs.Path&nbsp;currentPath)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>private void</code></td>
@@ -329,7 +320,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#isReaderRunning--">isReaderRunning</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></code></td>
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#readWALEntries-org.apache.hadoop.hbase.replication.regionserver.WALEntryStream-">readWALEntries</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a>&nbsp;entryStream)</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
@@ -341,7 +332,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#setReaderRunning-boolean-">setReaderRunning</a></span>(boolean&nbsp;readerRunning)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#take--">take</a></span>()</code>
 <div class="block">Retrieves the next batch of WAL entries from the queue, waiting up to the specified time for a
  batch to become available</div>
@@ -349,9 +340,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#updateBatchStats-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.hbase.wal.WAL.Entry-long-long-">updateBatchStats</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#updateBatchStats-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-org.apache.hadoop.hbase.wal.WAL.Entry-long-">updateBatchStats</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;batch,
                 <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
-                long&nbsp;entryPosition,
                 long&nbsp;entrySize)</code>&nbsp;</td>
 </tr>
 </table>
@@ -443,7 +433,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>entryBatchQueue</h4>
-<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.63">entryBatchQueue</a></pre>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.63">entryBatchQueue</a></pre>
 </li>
 </ul>
 <a name="replicationBatchSizeCapacity">
@@ -521,12 +511,21 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <a name="totalBufferQuota">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>totalBufferQuota</h4>
 <pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.78">totalBufferQuota</a></pre>
 </li>
 </ul>
+<a name="serialReplicationChecker">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>serialReplicationChecker</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.80">serialReplicationChecker</a></pre>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -541,7 +540,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReplicationSourceWALReader</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.90">ReplicationSourceWALReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.92">ReplicationSourceWALReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                   org.apache.hadoop.conf.Configuration&nbsp;conf,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;logQueue,
                                   long&nbsp;startPosition,
@@ -574,7 +573,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.122">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.125">run</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -589,22 +588,23 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>readWALEntries</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.163">readWALEntries</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a>&nbsp;entryStream)
-                                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.165">readWALEntries</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a>&nbsp;entryStream)
+                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">
+<a name="handleEmptyWALEntryBatch-org.apache.hadoop.fs.Path-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>handleEmptyWALEntryBatch</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.189">handleEmptyWALEntryBatch</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
-                                        org.apache.hadoop.fs.Path&nbsp;currentPath)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.224">handleEmptyWALEntryBatch</a>(org.apache.hadoop.fs.Path&nbsp;currentPath)
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -618,7 +618,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>handleEofException</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.198">handleEofException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;e)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.232">handleEofException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;e)</pre>
 </li>
 </ul>
 <a name="getCurrentPath--">
@@ -627,7 +627,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentPath</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.213">getCurrentPath</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.247">getCurrentPath</a>()</pre>
 </li>
 </ul>
 <a name="checkQuota--">
@@ -636,7 +636,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkQuota</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.224">checkQuota</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.258">checkQuota</a>()</pre>
 </li>
 </ul>
 <a name="filterEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">
@@ -645,7 +645,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>filterEntry</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.233">filterEntry</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.267">filterEntry</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
 </li>
 </ul>
 <a name="take--">
@@ -654,8 +654,8 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>take</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.247">take</a>()
-                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.281">take</a>()
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Retrieves the next batch of WAL entries from the queue, waiting up to the specified time for a
  batch to become available</div>
 <dl>
@@ -672,18 +672,17 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getEntrySize</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.251">getEntrySize</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.285">getEntrySize</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
 </li>
 </ul>
-<a name="updateBatchStats-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.hbase.wal.WAL.Entry-long-long-">
+<a name="updateBatchStats-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-org.apache.hadoop.hbase.wal.WAL.Entry-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>updateBatchStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.256">updateBatchStats</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.290">updateBatchStats</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;batch,
                               <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
-                              long&nbsp;entryPosition,
                               long&nbsp;entrySize)</pre>
 </li>
 </ul>
@@ -693,7 +692,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>countDistinctRowKeysAndHFiles</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.273">countDistinctRowKeysAndHFiles</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit)</pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.304">countDistinctRowKeysAndHFiles</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit)</pre>
 <div class="block">Count the number of different row keys in the given edit because of mini-batching. We assume
  that there's at least one Cell in the WALEdit.</div>
 <dl>
@@ -710,7 +709,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>calculateTotalSizeOfStoreFiles</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.311">calculateTotalSizeOfStoreFiles</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit)</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.342">calculateTotalSizeOfStoreFiles</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit)</pre>
 <div class="block">Calculate the total size of all the store files</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -726,7 +725,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireBufferQuota</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.341">acquireBufferQuota</a>(long&nbsp;size)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.372">acquireBufferQuota</a>(long&nbsp;size)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>size</code> - delta size for grown buffer</dd>
@@ -741,7 +740,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isReaderRunning</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.348">isReaderRunning</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.379">isReaderRunning</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether the reader thread is running</dd>
@@ -754,7 +753,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setReaderRunning</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.355">setReaderRunning</a>(boolean&nbsp;readerRunning)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.386">setReaderRunning</a>(boolean&nbsp;readerRunning)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>readerRunning</code> - the readerRunning to set</dd>
@@ -790,7 +789,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" target="_top">Frames</a></li>
@@ -814,7 +813,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html
index 3d8f914..264d418 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -345,7 +345,7 @@ implements org.apache.hadoop.util.Tool</pre>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html
index d21d1f8..f55e348 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" target="_top">Frames</a></li>
@@ -398,7 +398,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html
new file mode 100644
index 0000000..5594f3e
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html
@@ -0,0 +1,593 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SerialReplicationChecker (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SerialReplicationChecker (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SerialReplicationChecker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" target="_top">Frames</a></li>
+<li><a href="SerialReplicationChecker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.replication.regionserver</div>
+<h2 title="Class SerialReplicationChecker" class="title">Class SerialReplicationChecker</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Private
+class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.109">SerialReplicationChecker</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block"><p>
+ Helper class to determine whether we can push a given WAL entry without breaking the replication
+ order. The class is designed to per <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceWALReader</code></a>, so not thread safe.
+ </p>
+ <p>
+ We record all the open sequence number for a region in a special family in meta, which is called
+ 'barrier', so there will be a sequence of open sequence number (b1, b2, b3, ...). We call [bn,
+ bn+1) a range, and it is obvious that a region will always be on the same RS within a range.
+ <p>
+ When split and merge, we will also record the parent for the generated region(s) in the special
+ family in meta. And also, we will write an extra 'open sequence number' for the parent region(s),
+ which is the max sequence id of the region plus one.
+ </p>
+ </p>
+ <p>
+ For each peer, we record the last pushed sequence id for each region. It is managed by the
+ replication storage.
+ </p>
+ <p>
+ The algorithm works like this:
+ <ol>
+ <li>Locate the sequence id we want to push in the barriers</li>
+ <li>If it is before the first barrier, we are safe to push. This usually because we enable serial
+ replication for this table after we create the table and write data into the table.</li>
+ <li>In general, if the previous range is finished, then we are safe to push. The way to determine
+ whether a range is finish is straight-forward: check whether the last pushed sequence id is equal
+ to the end barrier of the range minus 1. There are several exceptions:
+ <ul>
+ <li>If it is in the first range, we need to check whether there are parent regions. If so, we
+ need to make sure that the data for parent regions have all been pushed.</li>
+ <li>If it is in the last range, we need to check the region state. If state is OPENING, then we
+ are not safe to push. This is because that, before we call reportRIT to master which update the
+ open sequence number into meta table, we will write a open region event marker to WAL first, and
+ its sequence id is greater than the newest open sequence number(which has not been updated to
+ meta table yet so we do not know). For this scenario, the WAL entry for this open region event
+ marker actually belongs to the range after the 'last' range, so we are not safe to push it.
+ Otherwise the last pushed sequence id will be updated to this value and then we think the
+ previous range has already been finished, but this is not true.</li>
+ <li>Notice that the above two exceptions are not conflicts, since the first range can also be the
+ last range if we only have one range.</li>
+ </ul>
+ </li>
+ </ol>
+ </p>
+ <p>
+ And for performance reason, we do not want to check meta for every WAL entry, so we introduce two
+ in memory maps. The idea is simple:
+ <ul>
+ <li>If a range can be pushed, then put its end barrier into the <code>canPushUnder</code> map.</li>
+ <li>Before accessing meta, first check the sequence id stored in the <code>canPushUnder</code> map. If
+ the sequence id of WAL entry is less the one stored in <code>canPushUnder</code> map, then we are safe
+ to push.</li>
+ </ul>
+ And for the last range, we do not have an end barrier, so we use the continuity of sequence id to
+ determine whether we can push. The rule is:
+ <ul>
+ <li>When an entry is able to push, then put its sequence id into the <code>pushed</code> map.</li>
+ <li>Check if the sequence id of WAL entry equals to the one stored in the <code>pushed</code> map plus
+ one. If so, we are safe to push, and also update the <code>pushed</code> map with the sequence id of
+ the WAL entry.</li>
+ </ul>
+ </p></div>
+</li>
+</ul>
+</div>
+<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>private org.apache.hbase.thirdparty.com.google.common.cache.Cache&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPushUnder">canPushUnder</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#conn">conn</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#peerId">peerId</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private org.apache.hbase.thirdparty.com.google.common.cache.LoadingCache&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.commons.lang3.mutable.MutableLong&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#pushed">pushed</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#REPLICATION_SERIALLY_WAITING_DEFAULT">REPLICATION_SERIALLY_WAITING_DEFAULT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#REPLICATION_SERIALLY_WAITING_KEY">REPLICATION_SERIALLY_WAITING_KEY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#storage">storage</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#waitTimeMs">waitTimeMs</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#SerialReplicationChecker-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSource-">SerialReplicationChecker</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                        <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a>&nbsp;source)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPush-org.apache.hadoop.hbase.wal.WAL.Entry-byte:A-">canPush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+       byte[]&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">canPush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+       <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCellInEdit)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#isLastRangeAndOpening-org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult-int-">isLastRangeAndOpening</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a>&nbsp;barrierResult,
+                     int&nbsp;index)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#isParentFinished-byte:A-">isParentFinished</a></span>(byte[]&nbsp;regionName)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#isRangeFinished-long-java.lang.String-">isRangeFinished</a></span>(long&nbsp;endBarrier,
+               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#recordCanPush-java.lang.String-long-long:A-int-">recordCanPush</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedNameAsString,
+             long&nbsp;seqId,
+             long[]&nbsp;barriers,
+             int&nbsp;index)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#waitUntilCanPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">waitUntilCanPush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+                <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCellInEdit)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="REPLICATION_SERIALLY_WAITING_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_SERIALLY_WAITING_KEY</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.111">REPLICATION_SERIALLY_WAITING_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker.REPLICATION_SERIALLY_WAITING_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="REPLICATION_SERIALLY_WAITING_DEFAULT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_SERIALLY_WAITING_DEFAULT</h4>
+<pre>public static final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.113">REPLICATION_SERIALLY_WAITING_DEFAULT</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker.REPLICATION_SERIALLY_WAITING_DEFAULT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="peerId">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peerId</h4>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.115">peerId</a></pre>
+</li>
+</ul>
+<a name="storage">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>storage</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.117">storage</a></pre>
+</li>
+</ul>
+<a name="conn">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>conn</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.119">conn</a></pre>
+</li>
+</ul>
+<a name="waitTimeMs">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>waitTimeMs</h4>
+<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.121">waitTimeMs</a></pre>
+</li>
+</ul>
+<a name="pushed">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pushed</h4>
+<pre>private final&nbsp;org.apache.hbase.thirdparty.com.google.common.cache.LoadingCache&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.commons.lang3.mutable.MutableLong&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.123">pushed</a></pre>
+</li>
+</ul>
+<a name="canPushUnder">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>canPushUnder</h4>
+<pre>private final&nbsp;org.apache.hbase.thirdparty.com.google.common.cache.Cache&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.133">canPushUnder</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SerialReplicationChecker-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSource-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SerialReplicationChecker</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.136">SerialReplicationChecker</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a>&nbsp;source)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isRangeFinished-long-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRangeFinished</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.144">isRangeFinished</a>(long&nbsp;endBarrier,
+                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)
+                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isParentFinished-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isParentFinished</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.157">isParentFinished</a>(byte[]&nbsp;regionName)
+                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isLastRangeAndOpening-org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLastRangeAndOpening</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.168">isLastRangeAndOpening</a>(<a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a>&nbsp;barrierResult,
+                                      int&nbsp;index)</pre>
+</li>
+</ul>
+<a name="recordCanPush-java.lang.String-long-long:A-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>recordCanPush</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.173">recordCanPush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedNameAsString,
+                           long&nbsp;seqId,
+                           long[]&nbsp;barriers,
+                           int&nbsp;index)</pre>
+</li>
+</ul>
+<a name="canPush-org.apache.hadoop.hbase.wal.WAL.Entry-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>canPush</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.180">canPush</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+                        byte[]&nbsp;row)
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="canPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>canPush</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.226">canPush</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+                       <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCellInEdit)
+                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="waitUntilCanPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>waitUntilCanPush</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#line.248">waitUntilCanPush</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+                             <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCellInEdit)
+                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SerialReplicationChecker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" target="_top">Frames</a></li>
+<li><a href="SerialReplicationChecker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html
index f5fbe5a..3829525 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html
@@ -49,8 +49,8 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" target="_top">Frames</a></li>
@@ -203,8 +203,8 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/rep
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" target="_top">Frames</a></li>


[14/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html
index df5fa53..8fffb89 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html
@@ -42,1927 +42,2060 @@
 <span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.conf.Configuration;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Get;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Put;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.Result;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.Table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.slf4j.Logger;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.slf4j.LoggerFactory;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * AssignmentManager) we want permanent connection.<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * &lt;/p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * called default replica.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;pre&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * For each table there is single row in column family 'table' formatted:<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * table: state             =&gt; contains table state<a name="line.98"></a>
-<span class="sourceLineNo">099</span> *<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * For each table range, there is a single row, formatted like:<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * This row corresponds to the regionName of the default region replica.<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * Columns are:<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.104"></a>
-<span class="sourceLineNo">105</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *                            the default regionInfo replica<a name="line.106"></a>
-<span class="sourceLineNo">107</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *                                 the regionInfo replica with replicaId<a name="line.108"></a>
-<span class="sourceLineNo">109</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *                            hosting the default regionInfo replica<a name="line.110"></a>
-<span class="sourceLineNo">111</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.111"></a>
-<span class="sourceLineNo">112</span> *                                          the server hosting the regionInfo replica with<a name="line.112"></a>
-<span class="sourceLineNo">113</span> *                                          replicaId<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.114"></a>
-<span class="sourceLineNo">115</span> *                             the server opened the region with default replicaId<a name="line.115"></a>
-<span class="sourceLineNo">116</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.116"></a>
-<span class="sourceLineNo">117</span> *                                           at the time the server opened the region with<a name="line.117"></a>
-<span class="sourceLineNo">118</span> *                                           replicaId<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.119"></a>
-<span class="sourceLineNo">120</span> *                             region is split<a name="line.120"></a>
-<span class="sourceLineNo">121</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.121"></a>
-<span class="sourceLineNo">122</span> *                             region is split<a name="line.122"></a>
-<span class="sourceLineNo">123</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.123"></a>
-<span class="sourceLineNo">124</span> *                             region is the result of a merge<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.125"></a>
-<span class="sourceLineNo">126</span> *                             region is the result of a merge<a name="line.126"></a>
-<span class="sourceLineNo">127</span> * &lt;/pre&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> * &lt;/p&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.130"></a>
-<span class="sourceLineNo">131</span> * leak out of it (through Result objects, etc)<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * &lt;/p&gt;<a name="line.132"></a>
-<span class="sourceLineNo">133</span> */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>@InterfaceAudience.Private<a name="line.134"></a>
-<span class="sourceLineNo">135</span>public class MetaTableAccessor {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.138"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static final byte [] META_REGION_PREFIX;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  static {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    META_REGION_PREFIX = new byte [len];<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      META_REGION_PREFIX, 0, len);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Lists all of the table regions currently in META.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Deprecated, keep there until some test use this.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param connection what we will use<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param tableName table to list<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @return Map of all user-space regions to servers<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        RegionLocations locations = getRegionLocations(result);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (locations == null) return true;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          if (loc != null) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public enum QueryType {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    private final byte[][] families;<a name="line.186"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>    QueryType(byte[]... families) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return this.families;<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><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.198"></a>
+<span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  ////////////////////////<a name="line.206"></a>
+<span class="sourceLineNo">200</span>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param connection connection we're using<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static void fullScanRegions(Connection connection,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      final Visitor visitor)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param connection connection we're using<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      throws IOException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param connection connection we're using<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static void fullScanTables(Connection connection,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      final Visitor visitor)<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param connection connection we're using<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param type scanned part of meta<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return List of {@link Result}<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    scanMeta(connection, null, null, type, v);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param connection connection we're using to access Meta<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public static Table getMetaHTable(final Connection connection)<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (connection == null) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throw new NullPointerException("No connection");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    } else if (connection.isClosed()) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      throw new IOException("connection is closed");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return connection.getTable(TableName.META_TABLE_NAME);<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>   * @param t Table to use (will be closed when done).<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @param g Get to run<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (t == null) return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return t.get(g);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } finally {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      t.close();<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>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Gets the region info and assignment for the specified region.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param connection connection we're using<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param regionName Region to lookup.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Deprecated<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    throws IOException {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return location == null<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      ? null<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param connection connection we're using<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param regionName region we're looking for<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return HRegionLocation for the given region<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    byte[] row = regionName;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    RegionInfo parsedInfo = null;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    } catch (Exception parseEx) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Get get = new Get(row);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    Result r = get(getMetaHTable(connection), get);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    RegionLocations locations = getRegionLocations(r);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return locations == null ? null<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param connection connection we're using<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param regionInfo region information<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return HRegionLocation for the given region<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Get get = new Get(row);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Result r = get(getMetaHTable(connection), get);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * in the regionName.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>              .setStartKey(fields[1])<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              .setEndKey(fields[2])<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              .setSplit(false)<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              .setRegionId(regionId)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              .setReplicaId(replicaId)<a name="line.354"></a>
-<span class="sourceLineNo">355</span>              .build();<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>  /**<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * Gets the result in hbase:meta for the specified region.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param connection connection we're using<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param regionName region we're looking for<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return result of the specified region<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static Result getRegionResult(Connection connection,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      byte[] regionName) throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    Get get = new Get(regionName);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Nullable<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    Result result = getRegionResult(connection, regionName);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * the specified server.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @param connection connection we're using<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param tableName table to check<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @return true if the table exists in meta, false if not<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public static boolean tableExists(Connection connection,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      final TableName tableName)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  throws IOException {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Catalog tables always exist.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param connection to connect with<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @return List of all user-space regions.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @VisibleForTesting<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      boolean excludeOfflinedSplitParents)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        excludeOfflinedSplitParents);<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>    return getListOfRegionInfos(result);<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>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param connection connection we're using<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @param tableName table we're looking for<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param connection connection we're using<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @param tableName table we're looking for<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * parents in the return.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return getListOfRegionInfos(result);<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>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return Collections.emptyList();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      result.add(pair.getFirst());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return result;<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>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param tableName table we're working with<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * @return start row for scanning META according to query type<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (tableName == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return null;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    switch (type) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    case REGION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return startRow;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    case ALL:<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    case TABLE:<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    default:<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      return tableName.getName();<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>  /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param tableName table we're working with<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @return stop row for scanning META according to query type<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (tableName == null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    final byte[] stopRow;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    switch (type) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    case REGION:<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      break;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    case ALL:<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    case TABLE:<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    default:<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      break;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return stopRow;<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>   * This method creates a Scan object that will only scan catalog rows that<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This is a better alternative to just using a start row and scan until<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * name.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * @param tableName bytes of table's name<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @return configured Scan object<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  @Deprecated<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // Start key is just the table name with delimiters<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // Stop key appends the smallest possible char to the table name<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    Scan scan = getMetaScan(connection, -1);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    scan.setStartRow(startKey);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    scan.setStopRow(stopKey);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return scan;<a name="line.532"></a>
-<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>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    Scan scan = new Scan();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int scannerCaching = connection.getConfiguration()<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (rowUpperLimit &gt; 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      scan.setLimit(rowUpperLimit);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    scan.setCaching(scannerCaching);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param connection connection we're using<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * @param tableName table we're looking for<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return Return list of regioninfos and server.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   */<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return getTableRegionsAndLocations(connection, tableName, true);<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param connection connection we're using<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return Return list of regioninfos and server addresses.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @throws IOException<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      Connection connection, @Nullable final TableName tableName,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        + " use MetaTableLocator instead");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        private RegionLocations current = null;<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>        @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        public boolean visit(Result r) throws IOException {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          current = getRegionLocations(r);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            return true;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Else call super and add this Result to the collection.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          return super.visit(r);<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>        @Override<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        void add(Result r) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>          if (current == null) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>            return;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>            if (loc != null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    scanMeta(connection,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        QueryType.REGION, visitor);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return visitor.getResults();<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>  /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param connection connection we're using<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param serverName server whose regions we're interested in<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @return List of user regions installed on this server (does not include<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * catalog regions).<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @throws IOException<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    // servername.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      @Override<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      void add(Result r) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        if (r == null || r.isEmpty()) return;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        RegionLocations locations = getRegionLocations(r);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        if (locations == null) return;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          if (loc != null) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>              hris.put(loc.getRegion(), r);<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>      }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    };<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    return hris;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    throws IOException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Visitor v = new Visitor() {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      @Override<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      public boolean visit(Result r) throws IOException {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        TableState state = getTableState(r);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (state != null) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          LOG.info("Table State: " + state);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        } else {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          RegionLocations locations = getRegionLocations(r);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          if (locations == null) return true;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            if (loc != null) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        }<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Performs a scan of META table for given table starting from<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * given row.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   *<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param connection connection we're using<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param visitor    visitor to call<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableName  table withing we scan<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param row        start scan from this row<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param rowLimit   max number of rows to return<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static void scanMeta(Connection connection,<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      final Visitor visitor, final TableName tableName,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final byte[] row, final int rowLimit)<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      throws IOException {<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    byte[] startRow = null;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    byte[] stopRow = null;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    if (tableName != null) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      startRow =<a name="line.709"></a>
-<span class="sourceLineNo">710</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      if (row != null) {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        RegionInfo closestRi =<a name="line.712"></a>
-<span class="sourceLineNo">713</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        startRow = RegionInfo<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      stopRow =<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<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><a name="line.723"></a>
-<span class="sourceLineNo">724</span>  /**<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * Performs a scan of META table.<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * @param connection connection we're using<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *                 at first row.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stopRow Where to stop the scan. Pass null if want to scan all rows<a name="line.729"></a>
-<span

<TRUNCATED>

[19/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html b/devapidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
index ea5dd32..d19914b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
@@ -33,9 +33,9 @@
 <span class="sourceLineNo">025</span>import java.util.Set;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import java.util.stream.Collectors;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import java.util.stream.Stream;<a name="line.27"></a>
-<span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.fs.Path;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.33"></a>
@@ -43,859 +43,866 @@
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.security.User;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * HTableDescriptor contains the details about an HBase table  such as the descriptors of<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * all the column families, is the table a catalog table, &lt;code&gt; hbase:meta &lt;/code&gt;,<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * if the table is read only, the maximum size of the memstore,<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * when the region split should occur, coprocessors associated with it etc...<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *             Use {@link TableDescriptorBuilder} to build {@link HTableDescriptor}.<a name="line.47"></a>
-<span class="sourceLineNo">048</span> */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>@Deprecated<a name="line.49"></a>
-<span class="sourceLineNo">050</span>@InterfaceAudience.Public<a name="line.50"></a>
-<span class="sourceLineNo">051</span>public class HTableDescriptor implements TableDescriptor, Comparable&lt;HTableDescriptor&gt; {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  public static final String SPLIT_POLICY = TableDescriptorBuilder.SPLIT_POLICY;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public static final String MAX_FILESIZE = TableDescriptorBuilder.MAX_FILESIZE;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public static final String OWNER = TableDescriptorBuilder.OWNER;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public static final Bytes OWNER_KEY = TableDescriptorBuilder.OWNER_KEY;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public static final String READONLY = TableDescriptorBuilder.READONLY;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  public static final String COMPACTION_ENABLED = TableDescriptorBuilder.COMPACTION_ENABLED;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static final String MEMSTORE_FLUSHSIZE = TableDescriptorBuilder.MEMSTORE_FLUSHSIZE;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final String FLUSH_POLICY = TableDescriptorBuilder.FLUSH_POLICY;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public static final String IS_ROOT = "IS_ROOT";<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public static final String IS_META = TableDescriptorBuilder.IS_META;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  public static final String DURABILITY = TableDescriptorBuilder.DURABILITY;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public static final String REGION_REPLICATION = TableDescriptorBuilder.REGION_REPLICATION;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static final String REGION_MEMSTORE_REPLICATION = TableDescriptorBuilder.REGION_MEMSTORE_REPLICATION;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final String NORMALIZATION_ENABLED = TableDescriptorBuilder.NORMALIZATION_ENABLED;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public static final String PRIORITY = TableDescriptorBuilder.PRIORITY;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public static final boolean DEFAULT_READONLY = TableDescriptorBuilder.DEFAULT_READONLY;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public static final boolean DEFAULT_COMPACTION_ENABLED = TableDescriptorBuilder.DEFAULT_COMPACTION_ENABLED;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public static final boolean DEFAULT_NORMALIZATION_ENABLED = TableDescriptorBuilder.DEFAULT_NORMALIZATION_ENABLED;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public static final long DEFAULT_MEMSTORE_FLUSH_SIZE = TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public static final int DEFAULT_REGION_REPLICATION = TableDescriptorBuilder.DEFAULT_REGION_REPLICATION;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public static final boolean DEFAULT_REGION_MEMSTORE_REPLICATION = TableDescriptorBuilder.DEFAULT_REGION_MEMSTORE_REPLICATION;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  protected final ModifyableTableDescriptor delegatee;<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>   * Construct a table descriptor specifying a TableName object<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * @param name Table name.<a name="line.77"></a>
-<span class="sourceLineNo">078</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.78"></a>
-<span class="sourceLineNo">079</span>   */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public HTableDescriptor(final TableName name) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    this(new ModifyableTableDescriptor(name));<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>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Construct a table descriptor by cloning the descriptor passed as a parameter.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * &lt;p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * Makes a deep copy of the supplied descriptor.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * Can make a modifiable descriptor from an ImmutableHTableDescriptor.<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @param desc The descriptor.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public HTableDescriptor(final HTableDescriptor desc) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this(desc, true);<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>  protected HTableDescriptor(final HTableDescriptor desc, boolean deepClone) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    this(deepClone ? new ModifyableTableDescriptor(desc.getTableName(), desc)<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      : desc.delegatee);<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>  public HTableDescriptor(final TableDescriptor desc) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this(new ModifyableTableDescriptor(desc.getTableName(), desc));<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>   * Construct a table descriptor by cloning the descriptor passed as a parameter<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * but using a different table name.<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * &lt;p&gt;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * Makes a deep copy of the supplied descriptor.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * Can make a modifiable descriptor from an ImmutableHTableDescriptor.<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * @param name Table name.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * @param desc The descriptor.<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public HTableDescriptor(final TableName name, final HTableDescriptor desc) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    this(new ModifyableTableDescriptor(name, desc));<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>  protected HTableDescriptor(ModifyableTableDescriptor delegatee) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    this.delegatee = delegatee;<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>   * This is vestigial API. It will be removed in 3.0.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   *<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return always return the false<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean isRootRegion() {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return false;<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>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * region.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   *<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * region<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 boolean isMetaRegion() {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return delegatee.isMetaRegion();<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>  /**<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   *<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public boolean isMetaTable() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    return delegatee.isMetaTable();<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>   * @return Getter for fetching an unmodifiable map.<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 Map&lt;Bytes, Bytes&gt; getValues() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return delegatee.getValues();<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>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * Setter for storing metadata as a (key, value) pair in map<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   *<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @param key The key.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param value The value. If null, removes the setting.<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public HTableDescriptor setValue(byte[] key, byte[] value) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    getDelegateeForModification().setValue(key, value);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return this;<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>   * Setter for storing metadata as a (key, value) pair in map<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param key The key.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * @param value The value. If null, removes the setting.<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  public HTableDescriptor setValue(final Bytes key, final Bytes value) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    getDelegateeForModification().setValue(key, value);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    return this;<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>   * Setter for storing metadata as a (key, value) pair in map<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   *<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @param key The key.<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * @param value The value. If null, removes the setting.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  public HTableDescriptor setValue(String key, String value) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    getDelegateeForModification().setValue(Bytes.toBytes(key), Bytes.toBytes(value));<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return this;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * Remove metadata represented by the key from the map<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   *<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * parameters.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public void remove(final String key) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    getDelegateeForModification().removeValue(Bytes.toBytes(key));<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>   * Remove metadata represented by the key from the map<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   *<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * parameters.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  public void remove(Bytes key) {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    getDelegateeForModification().removeValue(key);<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>   * Remove metadata represented by the key from the map<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   *<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * parameters.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  public void remove(final byte [] key) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    getDelegateeForModification().removeValue(key);<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>   * Check if the readOnly flag of the table is set. If the readOnly flag is<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * set then the contents of the table can only be read from but not modified.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   *<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * @return true if all columns in the table should be read only<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public boolean isReadOnly() {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    return delegatee.isReadOnly();<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>   * Setting the table as read only sets all the columns in the table as read<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * only. By default all tables are modifiable, but if the readOnly flag is<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * set to true then the contents of the table can only be read but not modified.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   *<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param readOnly True if all of the columns in the table should be read<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * only.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public HTableDescriptor setReadOnly(final boolean readOnly) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    getDelegateeForModification().setReadOnly(readOnly);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    return this;<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>   * Check if the compaction enable flag of the table is true. If flag is<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * false then no minor/major compactions will be done in real.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   *<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @return true if table compaction enabled<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 boolean isCompactionEnabled() {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    return delegatee.isCompactionEnabled();<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>   * Setting the table compaction enable flag.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   *<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @param isEnable True if enable compaction.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  public HTableDescriptor setCompactionEnabled(final boolean isEnable) {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    getDelegateeForModification().setCompactionEnabled(isEnable);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return this;<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>   * Check if normalization enable flag of the table is true. If flag is<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * false then no region normalizer won't attempt to normalize this table.<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   *<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * @return true if region normalization is enabled for this table<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   */<a name="line.273"></a>
-<span class="sourceLineNo">274</span>  @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public boolean isNormalizationEnabled() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return delegatee.isNormalizationEnabled();<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>   * Setting the table normalization enable flag.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   *<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param isEnable True if enable normalization.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public HTableDescriptor setNormalizationEnabled(final boolean isEnable) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    getDelegateeForModification().setNormalizationEnabled(isEnable);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    return this;<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">290</span>   * Sets the {@link Durability} setting for the table. This defaults to Durability.USE_DEFAULT.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * @param durability enum value<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  public HTableDescriptor setDurability(Durability durability) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    getDelegateeForModification().setDurability(durability);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    return this;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * Returns the durability setting for the table.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @return durability setting for the table.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  @Override<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public Durability getDurability() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    return delegatee.getDurability();<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>   * Get the name of the table<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   *<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @return TableName<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 TableName getTableName() {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    return delegatee.getTableName();<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>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Get the name of the table as a String<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   *<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @return name of table as a String<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  public String getNameAsString() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    return delegatee.getTableName().getNameAsString();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  /**<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * This sets the class associated with the region split policy which<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * determines when a region split should occur.  The class used by<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * default is defined in org.apache.hadoop.hbase.regionserver.RegionSplitPolicy<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @param clazz the class name<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public HTableDescriptor setRegionSplitPolicyClassName(String clazz) {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    getDelegateeForModification().setRegionSplitPolicyClassName(clazz);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    return this;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>  /**<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * This gets the class associated with the region split policy which<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * determines when a region split should occur.  The class used by<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * default is defined in org.apache.hadoop.hbase.regionserver.RegionSplitPolicy<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   *<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @return the class name of the region split policy for this table.<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * If this returns null, the default split policy is used.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   public String getRegionSplitPolicyClassName() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return delegatee.getRegionSplitPolicyClassName();<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>   * Returns the maximum size upto which a region can grow to after which a region<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * split is triggered. The region size is represented by the size of the biggest<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * store file in that region.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   *<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @return max hregion size for table, -1 if not set.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   *<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @see #setMaxFileSize(long)<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  public long getMaxFileSize() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    return delegatee.getMaxFileSize();<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>   * Sets the maximum size upto which a region can grow to after which a region<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * split is triggered. The region size is represented by the size of the biggest<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * store file in that region, i.e. If the biggest store file grows beyond the<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * maxFileSize, then the region split is triggered. This defaults to a value of<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * 256 MB.<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * &lt;p&gt;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * This is not an absolute value and might vary. Assume that a single row exceeds<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * the maxFileSize then the storeFileSize will be greater than maxFileSize since<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * a single row cannot be split across multiple regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * &lt;/p&gt;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   *<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * @param maxFileSize The maximum file size that a store file can grow to<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * before a split is triggered.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  public HTableDescriptor setMaxFileSize(long maxFileSize) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    getDelegateeForModification().setMaxFileSize(maxFileSize);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    return this;<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>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Returns the size of the memstore after which a flush to filesystem is triggered.<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   *<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * @return memory cache flush size for each hregion, -1 if not set.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   *<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * @see #setMemStoreFlushSize(long)<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  @Override<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  public long getMemStoreFlushSize() {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return delegatee.getMemStoreFlushSize();<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>   * Represents the maximum size of the memstore after which the contents of the<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * memstore are flushed to the filesystem. This defaults to a size of 64 MB.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   *<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @param memstoreFlushSize memory cache flush size for each hregion<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  public HTableDescriptor setMemStoreFlushSize(long memstoreFlushSize) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    getDelegateeForModification().setMemStoreFlushSize(memstoreFlushSize);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    return this;<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>   * This sets the class associated with the flush policy which determines determines the stores<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * need to be flushed when flushing a region. The class used by default is defined in<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * org.apache.hadoop.hbase.regionserver.FlushPolicy.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   * @param clazz the class name<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   */<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  public HTableDescriptor setFlushPolicyClassName(String clazz) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    getDelegateeForModification().setFlushPolicyClassName(clazz);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    return this;<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>  /**<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * This gets the class associated with the flush policy which determines the stores need to be<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * flushed when flushing a region. The class used by default is defined in<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   * org.apache.hadoop.hbase.regionserver.FlushPolicy.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   * @return the class name of the flush policy for this table. If this returns null, the default<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   *         flush policy is used.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   */<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  public String getFlushPolicyClassName() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    return delegatee.getFlushPolicyClassName();<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>  /**<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   * Adds a column family.<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * For the updating purpose please use {@link #modifyFamily(HColumnDescriptor)} instead.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @param family HColumnDescriptor of family to add.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   */<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  public HTableDescriptor addFamily(final HColumnDescriptor family) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    getDelegateeForModification().addColumnFamily(family);<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return this;<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>   * Modifies the existing column family.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @param family HColumnDescriptor of family to update<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * @return this (for chained invocation)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   */<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  public HTableDescriptor modifyFamily(final HColumnDescriptor family) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    getDelegateeForModification().modifyColumnFamily(family);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this;<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>  /**<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * Checks to see if this table contains the given column family<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @param familyName Family name or column name.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * @return true if the table contains the specified family name<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   */<a name="line.454"></a>
-<span class="sourceLineNo">455</span>  public boolean hasFamily(final byte [] familyName) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    return delegatee.hasColumnFamily(familyName);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>  /**<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @return Name of this table and then a map of all of the column family<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * descriptors.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * @see #getNameAsString()<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  @Override<a name="line.464"></a>
-<span class="sourceLineNo">465</span>  public String toString() {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    return delegatee.toString();<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>   * @return Name of this table and then a map of all of the column family<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * descriptors (with only the non-default column family attributes)<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  public String toStringCustomizedValues() {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    return delegatee.toStringCustomizedValues();<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 map of all table attributes formatted into string.<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   */<a name="line.479"></a>
-<span class="sourceLineNo">480</span>  public String toStringTableAttributes() {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   return delegatee.toStringTableAttributes();<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>   * Compare the contents of the descriptor with another one passed as a parameter.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * Checks if the obj passed is an instance of HTableDescriptor, if yes then the<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * contents of the descriptors are compared.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   *<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @return true if the contents of the the two descriptors exactly match<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   *<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * @see java.lang.Object#equals(java.lang.Object)<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   */<a name="line.492"></a>
-<span class="sourceLineNo">493</span>  @Override<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  public boolean equals(Object obj) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    if (this == obj) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      return true;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    if (obj instanceof HTableDescriptor) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      return delegatee.equals(((HTableDescriptor) obj).delegatee);<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    return false;<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>  /**<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @see java.lang.Object#hashCode()<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   */<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  @Override<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  public int hashCode() {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    return delegatee.hashCode();<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>  // Comparable<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>   * Compares the descriptor with another descriptor which is passed as a parameter.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This compares the content of the two descriptors and not the reference.<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   *<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * @return 0 if the contents of the descriptors are exactly matching,<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   *         1 if there is a mismatch in the contents<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 int compareTo(final HTableDescriptor other) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    return TableDescriptor.COMPARATOR.compare(this, other);<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>   * Returns an unmodifiable collection of all the {@link HColumnDescriptor}<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * of all the column families of the table.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @deprecated Use {@link #getColumnFamilies}.<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @return Immutable collection of {@link HColumnDescriptor} of all the<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * column families.<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  @Deprecated<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public Collection&lt;HColumnDescriptor&gt; getFamilies() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    return Stream.of(delegatee.getColumnFamilies())<a name="line.535"></a>
-<span class="sourceLineNo">536</span>            .map(this::toHColumnDescriptor)<a name="line.536"></a>
-<span class="sourceLineNo">537</span>            .collect(Collectors.toList());<a name="line.537"></a>
-<span class="sourceLineNo">538</span>  }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>  /**<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   * Returns the configured replicas per region<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   */<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  public int getRegionReplication() {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return delegatee.getRegionReplication();<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Sets the number of replicas per region.<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * @param regionReplication the replication factor per region<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   */<a name="line.551"></a>
-<span class="sourceLineNo">552</span>  public HTableDescriptor setRegionReplication(int regionReplication) {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    getDelegateeForModification().setRegionReplication(regionReplication);<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>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   *             Use {@link #hasRegionMemStoreReplication()} instead<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   */<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  @Deprecated<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  public boolean hasRegionMemstoreReplication() {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    return hasRegionMemStoreReplication();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  }<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>   * @return true if the read-replicas memstore replication is enabled.<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   */<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  @Override<a name="line.569"></a>
-<span class="sourceLineNo">570</span>  public boolean hasRegionMemStoreReplication() {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    return delegatee.hasRegionMemStoreReplication();<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>  /**<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   *             Use {@link #setRegionMemStoreReplication(boolean)} instead<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  @Deprecated<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public HTableDescriptor setRegionMemstoreReplication(boolean memstoreReplication) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    return setRegionMemStoreReplication(memstoreReplication);<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>   * Enable or Disable the memstore replication from the primary region to the replicas.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * The replication will be used only for meta operations (e.g. flush, compaction, ...)<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   *<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   * @param memstoreReplication true if the new data written to the primary region<a name="line.587"></a>
-<span class="sourceLineNo">588</span>   *                                 should be replicated.<a name="line.588"></a>
-<span class="sourceLineNo">589</span>   *                            false if the secondaries can tollerate to have new<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   *                                  data only when the primary flushes the memstore.<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   */<a name="line.591"></a>
-<span class="sourceLineNo">592</span>  public HTableDescriptor setRegionMemStoreReplication(boolean memstoreReplication) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    getDelegateeForModification().setRegionMemStoreReplication(memstoreReplication);<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    return this;<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>  public HTableDescriptor setPriority(int priority) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    getDelegateeForModification().setPriority(priority);<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>  @Override<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  public int getPriority() {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    return delegatee.getPriority();<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>   * Returns all the column family names of the current table. The map of<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * HTableDescriptor contains mapping of family name to HColumnDescriptors.<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * This returns all the keys of the family map which represents the column<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * family names of the table.<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   *<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * @return Immutable sorted set of the keys of the families.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   *             (&lt;a href="https://issues.apache.org/jira/browse/HBASE-18008"&gt;HBASE-18008&lt;/a&gt;).<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   *             Use {@link #getColumnFamilyNames()}.<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   */<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  @Deprecated<a name="line.618"></a>
-<span class="sourceLineNo">619</span>  public Set&lt;byte[]&gt; getFamiliesKeys() {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>    return delegatee.getColumnFamilyNames();<a name="line.620"></a>
-<span class="sourceLineNo">621</span>  }<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>   * Returns the count of the column families of the table.<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   *<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   * @return Count of column families of the table<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   */<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  @Override<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  public int getColumnFamilyCount() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>    return delegatee.getColumnFamilyCount();<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>  /**<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * Returns an array all the {@link HColumnDescriptor} of the column families<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   * of the table.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   *<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @return Array of all the HColumnDescriptors of the current table<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   *<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * @see #getFamilies()<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  @Deprecated<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  @Override<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  public HColumnDescriptor[] getColumnFamilies() {<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    return Stream.of(delegatee.getColumnFamilies())<a name="line.644"></a>
-<span class="sourceLineNo">645</span>            .map(this::toHColumnDescriptor)<a name="line.645"></a>
-<span class="sourceLineNo">646</span>            .toArray(size -&gt; new HColumnDescriptor[size]);<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  }<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>   * Returns the HColumnDescriptor for a specific column family with name as<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   * specified by the parameter column.<a name="line.651"></a>
-<span class="sourceLineNo">652</span>   * @param column Column family name<a name="line.652"></a>
-<span class="sourceLineNo">653</span>   * @return Column descriptor for the passed family name or the family on<a name="line.653"></a>
-<span class="sourceLineNo">654</span>   * passed in column.<a name="line.654"></a>
-<span class="sourceLineNo">655</span>   * @deprecated Use {@link #getColumnFamily(byte[])}.<a name="line.655"></a>
-<span class="sourceLineNo">656</span>   */<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  @Deprecated<a name="line.657"></a>
-<span class="sourceLineNo">658</span>  public HColumnDescriptor getFamily(final byte[] column) {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    return toHColumnDescriptor(delegatee.getColumnFamily(column));<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>  /**<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   * Removes the HColumnDescriptor with name specified by the parameter column<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   * from the table descriptor<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   *<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   * @param column Name of the column family to be removed.<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * @return Column descriptor for the passed family name or the family on<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   * passed in column.<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   */<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  public HColumnDescriptor removeFamily(final byte [] column) {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    return toHColumnDescriptor(getDelegateeForModification().removeColumnFamily(column));<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>   * Return a HColumnDescriptor for user to keep the compatibility as much as possible.<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   * @param desc read-only ColumnFamilyDescriptor<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * @return The older implementation of ColumnFamilyDescriptor<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   */<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  protected HColumnDescriptor toHColumnDescriptor(ColumnFamilyDescriptor desc) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    if (desc == null) {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      return null;<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    } else if (desc instanceof ModifyableColumnFamilyDescriptor) {<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      return new HColumnDescriptor((ModifyableColumnFamilyDescriptor) desc);<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    } else if (desc instanceof HColumnDescriptor) {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      return (HColumnDescriptor) desc;<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    } else {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      return new HColumnDescriptor(new ModifyableColumnFamilyDescriptor(desc));<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    }<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>  /**<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * Add a table coprocessor to this table. The coprocessor<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * type must be org.apache.hadoop.hbase.coprocessor.RegionCoprocessor.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * It won't check if the class can be loaded or not.<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * Whether a coprocessor is loadable or not will be determined when<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * a region is opened.<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param className Full class name.<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public HTableDescriptor addCoprocessor(String className) throws IOException {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    getDelegateeForModification().addCoprocessor(className);<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    return this;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  }<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>  /**<a name="line.706"></a>
-<span class="sourceLineNo">707</span>   * Add a table coprocessor to this table. The coprocessor<a name="line.707"></a>
-<span class="sourceLineNo">708</span>   * type must be org.apache.hadoop.hbase.coprocessor.RegionCoprocessor.<a name="line.708"></a>
-<span class="sourceLineNo">709</span>   * It won't check if the class can be loaded or not.<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * Whether a coprocessor is loadable or not will be determined when<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   * a region is opened.<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * @param jarFilePath Path of the jar file. If it's null, the class will be<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * loaded from default classloader.<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * @param className Full class name.<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * @param priority Priority<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * @param kvs Arbitrary key-value parameter pairs passed into the coprocessor.<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   * @throws IOException<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   */<a name="line.718"></a>
-<span class="sourceLineNo">719</span>  public HTableDescriptor addCoprocessor(String className, Path jarFilePath,<a name="line.719"></a>
-<span class="sourceLineNo">720</span>                             int priority, final Map&lt;String, String&gt; kvs)<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  throws IOException {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    getDelegateeForModification().addCoprocessor(className, jarFilePath, priority, kvs);<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    return this;<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>  /**<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * Add a table coprocessor to this table. The coprocessor<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   * type must be org.apache.hadoop.hbase.coprocessor.RegionCoprocessor.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * It won't check if the class can be loaded or not.<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   * Whether a coprocessor is loadable or not will be determined when<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   * a region is opened.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   * @param specStr The Coprocessor specification all in in one String formatted so matches<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   * {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   * @throws IOException<a name="line.734"></a>
-<span class="sourceLineNo">735</span>   */<a name="line.735"></a>
-<span class="sourceLineNo">736</span>  public HTableDescriptor addCoprocessorWithSpec(final String specStr) throws IOException {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    getDelegateeForModification().addCoprocessorWithSpec(specStr);<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    return this;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>  }<a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
-<span class="sourceLineNo">741</span>  /**<a name="line.741"></a>
-<span class="sourceLineNo">742</span>   * Check if the table has an attached co-processor represented by the name className<a name="line.742"></a>
-<span class="sourceLineNo">743</span>   *<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * @param classNameToMatch - Class name of the co-processor<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * @return true of the table has a co-processor className<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   */<a name="line.746"></a>
-<span class="sourceLineNo">747</span>  @Override<a name="line.747"></a>
-<span class="sourceLineNo">748</span>  public boolean hasCoprocessor(String classNameToMatch) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    return delegatee.hasCoprocessor(classNameToMatch);<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>  /**<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * Return the list of attached co-processor represented by their name className<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   *<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * @return The list of co-processors classNames<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 List&lt;String&gt; getCoprocessors() {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    return delegatee.getCoprocessors();<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>   * Remove a coprocessor from those set on the table<a name="line.763"></a>
-<span class="sourceLineNo">764</span>   * @param className Class name of the co-processor<a name="line.764"></a>
-<span class="sourceLineNo">765</span>   */<a name="line.765"></a>
-<span class="sourceLineNo">766</span>  public void removeCoprocessor(String className) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    getDelegateeForModification().removeCoprocessor(className);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>  }<a name="line.768"></a>
-<span class="sourceLineNo">769</span><a name="line.769"></a>
-<span class="sourceLineNo">770</span>  public final static String NAMESPACE_FAMILY_INFO = TableDescriptorBuilder.NAMESPACE_FAMILY_INFO;<a name="line.770"></a>
-<span class="sourceLineNo">771</span>  public final static byte[] NAMESPACE_FAMILY_INFO_BYTES = TableDescriptorBuilder.NAMESPACE_FAMILY_INFO_BYTES;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>  public final static byte[] NAMESPACE_COL_DESC_BYTES = TableDescriptorBuilder.NAMESPACE_COL_DESC_BYTES;<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>  /** Table descriptor for namespace table */<a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public static final HTableDescriptor NAMESPACE_TABLEDESC<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    = new HTableDescriptor(TableDescriptorBuilder.NAMESPACE_TABLEDESC);<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  @Deprecated<a name="line.778"></a>
-<span class="sourceLineNo">779</span>  public HTableDescriptor setOwner(User owner) {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    getDelegateeForModification().setOwner(owner);<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    return this;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>  }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>  // used by admin.rb:alter(table_name,*args) to update owner.<a name="line.784"></a>
+<span class="sourceLineNo">038</span>import org.apache.yetus.audience.InterfaceAudience;<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> * HTableDescriptor contains the details about an HBase table  such as the descriptors of<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * all the column families, is the table a catalog table, &lt;code&gt; hbase:meta &lt;/code&gt;,<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * if the table is read only, the maximum size of the memstore,<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * when the region split should occur, coprocessors associated with it etc...<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *             Use {@link TableDescriptorBuilder} to build {@link HTableDescriptor}.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Deprecated<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class HTableDescriptor implements TableDescriptor, Comparable&lt;HTableDescriptor&gt; {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public static final String SPLIT_POLICY = TableDescriptorBuilder.SPLIT_POLICY;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public static final String MAX_FILESIZE = TableDescriptorBuilder.MAX_FILESIZE;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  public static final String OWNER = TableDescriptorBuilder.OWNER;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public static final Bytes OWNER_KEY = TableDescriptorBuilder.OWNER_KEY;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public static final String READONLY = TableDescriptorBuilder.READONLY;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  public static final String COMPACTION_ENABLED = TableDescriptorBuilder.COMPACTION_ENABLED;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static final String MEMSTORE_FLUSHSIZE = TableDescriptorBuilder.MEMSTORE_FLUSHSIZE;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public static final String FLUSH_POLICY = TableDescriptorBuilder.FLUSH_POLICY;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  public static final String IS_ROOT = "IS_ROOT";<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final String IS_META = TableDescriptorBuilder.IS_META;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public static final String DURABILITY = TableDescriptorBuilder.DURABILITY;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  public static final String REGION_REPLICATION = TableDescriptorBuilder.REGION_REPLICATION;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public static final String REGION_MEMSTORE_REPLICATION = TableDescriptorBuilder.REGION_MEMSTORE_REPLICATION;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public static final String NORMALIZATION_ENABLED = TableDescriptorBuilder.NORMALIZATION_ENABLED;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  public static final String PRIORITY = TableDescriptorBuilder.PRIORITY;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static final boolean DEFAULT_READONLY = TableDescriptorBuilder.DEFAULT_READONLY;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public static final boolean DEFAULT_COMPACTION_ENABLED = TableDescriptorBuilder.DEFAULT_COMPACTION_ENABLED;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public static final boolean DEFAULT_NORMALIZATION_ENABLED = TableDescriptorBuilder.DEFAULT_NORMALIZATION_ENABLED;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public static final long DEFAULT_MEMSTORE_FLUSH_SIZE = TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  public static final int DEFAULT_REGION_REPLICATION = TableDescriptorBuilder.DEFAULT_REGION_REPLICATION;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public static final boolean DEFAULT_REGION_MEMSTORE_REPLICATION = TableDescriptorBuilder.DEFAULT_REGION_MEMSTORE_REPLICATION;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  protected final ModifyableTableDescriptor delegatee;<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>   * Construct a table descriptor specifying a TableName object<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * @param name Table name.<a name="line.76"></a>
+<span class="sourceLineNo">077</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.77"></a>
+<span class="sourceLineNo">078</span>   */<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public HTableDescriptor(final TableName name) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    this(new ModifyableTableDescriptor(name));<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>  /**<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * Construct a table descriptor by cloning the descriptor passed as a parameter.<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * &lt;p&gt;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * Makes a deep copy of the supplied descriptor.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Can make a modifiable descriptor from an ImmutableHTableDescriptor.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param desc The descriptor.<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public HTableDescriptor(final HTableDescriptor desc) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    this(desc, true);<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>  protected HTableDescriptor(final HTableDescriptor desc, boolean deepClone) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this(deepClone ? new ModifyableTableDescriptor(desc.getTableName(), desc)<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      : desc.delegatee);<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>  public HTableDescriptor(final TableDescriptor desc) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this(new ModifyableTableDescriptor(desc.getTableName(), desc));<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>   * Construct a table descriptor by cloning the descriptor passed as a parameter<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * but using a different table name.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * &lt;p&gt;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * Makes a deep copy of the supplied descriptor.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * Can make a modifiable descriptor from an ImmutableHTableDescriptor.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * @param name Table name.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * @param desc The descriptor.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  public HTableDescriptor(final TableName name, final HTableDescriptor desc) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this(new ModifyableTableDescriptor(name, desc));<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>  protected HTableDescriptor(ModifyableTableDescriptor delegatee) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.delegatee = delegatee;<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>  /**<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * This is vestigial API. It will be removed in 3.0.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   *<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @return always return the false<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public boolean isRootRegion() {<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>  /**<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * region.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   *<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * region<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @Override<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public boolean isMetaRegion() {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    return delegatee.isMetaRegion();<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>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   *<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<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 boolean isMetaTable() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return delegatee.isMetaTable();<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>  /**<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * @return Getter for fetching an unmodifiable map.<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 Map&lt;Bytes, Bytes&gt; getValues() {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return delegatee.getValues();<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>  /**<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Setter for storing metadata as a (key, value) pair in map<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   *<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param key The key.<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @param value The value. If null, removes the setting.<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   */<a name="line.164"></a>
+<span class="sourceLineNo">165</span>  public HTableDescriptor setValue(byte[] key, byte[] value) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    getDelegateeForModification().setValue(key, value);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return this;<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>  /*<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   * Setter for storing metadata as a (key, value) pair in map<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   *<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * @param key The key.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * @param value The value. If null, removes the setting.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   */<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public HTableDescriptor setValue(final Bytes key, final Bytes value) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    getDelegateeForModification().setValue(key, value);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    return this;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * Setter for storing metadata as a (key, value) pair in map<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * @param key The key.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * @param value The value. If null, removes the setting.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  public HTableDescriptor setValue(String key, String value) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    getDelegateeForModification().setValue(Bytes.toBytes(key), Bytes.toBytes(value));<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    return this;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>  /**<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Remove metadata represented by the key from the map<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   *<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * parameters.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  public void remove(final String key) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    getDelegateeForModification().removeValue(Bytes.toBytes(key));<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  }<a name="line.200"></a>
+<span class="sourceLineNo"

<TRUNCATED>

[41/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/HConstants.html b/devapidocs/org/apache/hadoop/hbase/HConstants.html
index 3949f2a..5d41c23 100644
--- a/devapidocs/org/apache/hadoop/hbase/HConstants.html
+++ b/devapidocs/org/apache/hadoop/hbase/HConstants.html
@@ -1486,6 +1486,18 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLAY_QOS">REPLAY_QOS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY">REPLICATION_BARRIER_FAMILY</a></span></code>
+<div class="block">The replication barrier family</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY_STR">REPLICATION_BARRIER_FAMILY_STR</a></span></code>
+<div class="block">The replication barrier family as a string</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_DEFAULT">REPLICATION_BULKLOAD_ENABLE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
@@ -1535,277 +1547,284 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_SERIAL">REPLICATION_SCOPE_SERIAL</a></span></code>
+<div class="block">Scope tag for serially scoped data
+ This data will be replicated to all peers by the order of sequence id.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SERVICE_CLASSNAME_DEFAULT">REPLICATION_SERVICE_CLASSNAME_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SINK_SERVICE_CLASSNAME">REPLICATION_SINK_SERVICE_CLASSNAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_MAXTHREADS_DEFAULT">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></span></code>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_MAXTHREADS_KEY">REPLICATION_SOURCE_MAXTHREADS_KEY</a></span></code>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_SERVICE_CLASSNAME">REPLICATION_SOURCE_SERVICE_CLASSNAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT">REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_TOTAL_BUFFER_KEY">REPLICATION_SOURCE_TOTAL_BUFFER_KEY</a></span></code>
 <div class="block">Max total size of buffered entries in all replication peers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RETRY_BACKOFF">RETRY_BACKOFF</a></span></code>
 <div class="block">Retrying we multiply hbase.client.pause setting by what we have in this array until we
  run out of array items.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_CODEC_CONF_KEY">RPC_CODEC_CONF_KEY</a></span></code>
 <div class="block">Configuration key for setting RPC codec class name</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_CURRENT_VERSION">RPC_CURRENT_VERSION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_HEADER">RPC_HEADER</a></span></code>
 <div class="block">The first four bytes of Hadoop RPC connections</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SEQNUM_QUALIFIER">SEQNUM_QUALIFIER</a></span></code>
 <div class="block">The open seqnum column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SEQNUM_QUALIFIER_STR">SEQNUM_QUALIFIER_STR</a></span></code>
 <div class="block">The open seqnum column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVER_QUALIFIER">SERVER_QUALIFIER</a></span></code>
 <div class="block">The server column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVER_QUALIFIER_STR">SERVER_QUALIFIER_STR</a></span></code>
 <div class="block">The server column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVERNAME_QUALIFIER">SERVERNAME_QUALIFIER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVERNAME_QUALIFIER_STR">SERVERNAME_QUALIFIER_STR</a></span></code>
 <div class="block">The serverName column qualifier.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SNAPSHOT_DIR_NAME">SNAPSHOT_DIR_NAME</a></span></code>
 <div class="block">Name of the directory to store all snapshots.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SNAPSHOT_RESTORE_FAILSAFE_NAME">SNAPSHOT_RESTORE_FAILSAFE_NAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT">SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SOCKET_RETRY_WAIT_MS">SOCKET_RETRY_WAIT_MS</a></span></code>
 <div class="block">The delay when re-trying a socket operation in a loop (HBASE-4712)</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLIT_LOGDIR_NAME">SPLIT_LOGDIR_NAME</a></span></code>
 <div class="block">Used to construct the name of the splitlog directory for a region server</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLITA_QUALIFIER">SPLITA_QUALIFIER</a></span></code>
 <div class="block">The lower-half split region column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLITB_QUALIFIER">SPLITB_QUALIFIER</a></span></code>
 <div class="block">The upper-half split region column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STARTCODE_QUALIFIER">STARTCODE_QUALIFIER</a></span></code>
 <div class="block">The startcode column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STARTCODE_QUALIFIER_STR">STARTCODE_QUALIFIER_STR</a></span></code>
 <div class="block">The startcode column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATE_QUALIFIER">STATE_QUALIFIER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATE_QUALIFIER_STR">STATE_QUALIFIER_STR</a></span></code>
 <div class="block">The state column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_ADDRESS">STATUS_MULTICAST_ADDRESS</a></span></code>
 <div class="block">IP to use for the multicast status messages between the master and the clients.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_BIND_ADDRESS">STATUS_MULTICAST_BIND_ADDRESS</a></span></code>
 <div class="block">The address to use for binding the local socket for receiving multicast.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_NI_NAME">STATUS_MULTICAST_NI_NAME</a></span></code>
 <div class="block">The network interface name to use for the multicast messages.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_PORT">STATUS_MULTICAST_PORT</a></span></code>
 <div class="block">The port to use for the multicast messages.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_PUBLISHER_BIND_ADDRESS">STATUS_MULTICAST_PUBLISHER_BIND_ADDRESS</a></span></code>
 <div class="block">The address to use for binding the local socket for sending multicast.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_PUBLISHED">STATUS_PUBLISHED</a></span></code>
 <div class="block">Setting to activate, or not, the publication of the status by the master.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_PUBLISHED_DEFAULT">STATUS_PUBLISHED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SYSTEMTABLE_QOS">SYSTEMTABLE_QOS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_FAMILY">TABLE_FAMILY</a></span></code>
 <div class="block">The catalog family</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_FAMILY_STR">TABLE_FAMILY_STR</a></span></code>
 <div class="block">The catalog family as a string</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_MAX_ROWSIZE_DEFAULT">TABLE_MAX_ROWSIZE_DEFAULT</a></span></code>
 <div class="block">Default max row size (1 Gb).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_MAX_ROWSIZE_KEY">TABLE_MAX_ROWSIZE_KEY</a></span></code>
 <div class="block">Max size of single row for Get's or Scan's without in-row scanning flag set.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_STATE_QUALIFIER">TABLE_STATE_QUALIFIER</a></span></code>
 <div class="block">The serialized table state qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TEMPORARY_FS_DIRECTORY_KEY">TEMPORARY_FS_DIRECTORY_KEY</a></span></code>
 <div class="block">Config key for hbase temporary directory in hdfs</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#THREAD_WAKE_FREQUENCY">THREAD_WAKE_FREQUENCY</a></span></code>
 <div class="block">Parameter name for how often threads should wake up</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#USE_META_REPLICAS">USE_META_REPLICAS</a></span></code>
 <div class="block">Conf key for enabling meta replication</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset">Charset</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#UTF8_CHARSET">UTF8_CHARSET</a></span></code>
 <div class="block">When we encode strings, we always specify UTF8 encoding</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#UTF8_ENCODING">UTF8_ENCODING</a></span></code>
 <div class="block">When we encode strings, we always specify UTF8 encoding</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#VERSION_FILE_NAME">VERSION_FILE_NAME</a></span></code>
 <div class="block">name of version file</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#VERSION_FILE_WRITE_ATTEMPTS">VERSION_FILE_WRITE_ATTEMPTS</a></span></code>
 <div class="block">Parameter name for how often we should try to write a version file, before failing</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#VERSIONS">VERSIONS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#WAL_STORAGE_POLICY">WAL_STORAGE_POLICY</a></span></code>
 <div class="block">Configuration name of WAL storage policy
@@ -1813,82 +1832,82 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZERO_L">ZERO_L</a></span></code>
 <div class="block">long constant for zero</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZEROES">ZEROES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CFG_PROPERTY_PREFIX">ZK_CFG_PROPERTY_PREFIX</a></span></code>
 <div class="block">Common prefix of ZooKeeper configuration properties</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CFG_PROPERTY_PREFIX_LEN">ZK_CFG_PROPERTY_PREFIX_LEN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CLIENT_KERBEROS_PRINCIPAL">ZK_CLIENT_KERBEROS_PRINCIPAL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CLIENT_KEYTAB_FILE">ZK_CLIENT_KEYTAB_FILE</a></span></code>
 <div class="block">Configuration keys for programmatic JAAS configuration for secured ZK interaction</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_SERVER_KERBEROS_PRINCIPAL">ZK_SERVER_KERBEROS_PRINCIPAL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_SERVER_KEYTAB_FILE">ZK_SERVER_KEYTAB_FILE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_SESSION_TIMEOUT">ZK_SESSION_TIMEOUT</a></span></code>
 <div class="block">Configuration key for ZooKeeper session timeout</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_CLIENT_PORT">ZOOKEEPER_CLIENT_PORT</a></span></code>
 <div class="block">Parameter name for the client port that the zookeeper listens on</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_DATA_DIR">ZOOKEEPER_DATA_DIR</a></span></code>
 <div class="block">Parameter name for the ZK data directory</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_MAX_CLIENT_CNXNS">ZOOKEEPER_MAX_CLIENT_CNXNS</a></span></code>
 <div class="block">Parameter name for the limit on concurrent client-side zookeeper
  connections</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_QUORUM">ZOOKEEPER_QUORUM</a></span></code>
 <div class="block">Name of ZooKeeper quorum configuration parameter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_TICK_TIME">ZOOKEEPER_TICK_TIME</a></span></code>
 <div class="block">Parameter name for the ZK tick time</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_ZNODE_PARENT">ZOOKEEPER_ZNODE_PARENT</a></span></code>
 <div class="block">Parameter name for the root dir in ZK for this cluster</div>
@@ -3551,13 +3570,37 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">The serialized table state qualifier</div>
 </li>
 </ul>
+<a name="REPLICATION_BARRIER_FAMILY_STR">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_BARRIER_FAMILY_STR</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.491">REPLICATION_BARRIER_FAMILY_STR</a></pre>
+<div class="block">The replication barrier family as a string</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_BARRIER_FAMILY_STR">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="REPLICATION_BARRIER_FAMILY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_BARRIER_FAMILY</h4>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.494">REPLICATION_BARRIER_FAMILY</a></pre>
+<div class="block">The replication barrier family</div>
+</li>
+</ul>
 <a name="META_VERSION_QUALIFIER">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>META_VERSION_QUALIFIER</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.496">META_VERSION_QUALIFIER</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.502">META_VERSION_QUALIFIER</a></pre>
 <div class="block">The meta table version column qualifier.
  We keep current version of the meta table in this column in <code>-ROOT-</code>
  table: i.e. in the 'info:v' column.</div>
@@ -3569,7 +3612,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>META_VERSION</h4>
-<pre>public static final&nbsp;short <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.508">META_VERSION</a></pre>
+<pre>public static final&nbsp;short <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.514">META_VERSION</a></pre>
 <div class="block">The current version of the meta table.
  - pre-hbase 0.92.  There is no META_VERSION column in the root table
  in this case. The meta has HTableDescriptor serialized into the HRegionInfo;
@@ -3590,7 +3633,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_BYTE_ARRAY</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.515">EMPTY_BYTE_ARRAY</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.521">EMPTY_BYTE_ARRAY</a></pre>
 <div class="block">An empty instance.</div>
 </li>
 </ul>
@@ -3600,7 +3643,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_BYTE_BUFFER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.517">EMPTY_BYTE_BUFFER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.523">EMPTY_BYTE_BUFFER</a></pre>
 </li>
 </ul>
 <a name="EMPTY_START_ROW">
@@ -3609,7 +3652,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_START_ROW</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.522">EMPTY_START_ROW</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.528">EMPTY_START_ROW</a></pre>
 <div class="block">Used by scanners, etc when they want to start at the beginning of a region</div>
 </li>
 </ul>
@@ -3619,7 +3662,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_END_ROW</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.527">EMPTY_END_ROW</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.533">EMPTY_END_ROW</a></pre>
 <div class="block">Last row in a table.</div>
 </li>
 </ul>
@@ -3629,7 +3672,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LAST_ROW</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.533">LAST_ROW</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.539">LAST_ROW</a></pre>
 <div class="block">Used by scanners and others when they're trying to detect the end of a
  table</div>
 </li>
@@ -3640,7 +3683,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_ROW_LENGTH</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.538">MAX_ROW_LENGTH</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.544">MAX_ROW_LENGTH</a></pre>
 <div class="block">Max length a row can have because of the limitation in TFile.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3654,7 +3697,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LATEST_TIMESTAMP</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.564">LATEST_TIMESTAMP</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.570">LATEST_TIMESTAMP</a></pre>
 <div class="block">Timestamp to use when we want to refer to the latest cell.
 
  On client side, this is the timestamp set by default when no timestamp is specified,
@@ -3690,7 +3733,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <li class="blockList">
 <h4>OLDEST_TIMESTAMP</h4>
 <pre><a href="https://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;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.574">OLDEST_TIMESTAMP</a></pre>
+public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.580">OLDEST_TIMESTAMP</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should not be public since hbase-1.3.0. For internal use only. Move internal to
    Scanners flagged as special timestamp value never to be returned as timestamp on a Cell.</span></div>
 <div class="block">Timestamp to use when we want to refer to the oldest cell.
@@ -3708,7 +3751,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>LATEST_TIMESTAMP_BYTES</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.579">LATEST_TIMESTAMP_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.585">LATEST_TIMESTAMP_BYTES</a></pre>
 <div class="block">LATEST_TIMESTAMP in bytes form</div>
 </li>
 </ul>
@@ -3718,7 +3761,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>ALL_VERSIONS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.594">ALL_VERSIONS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.600">ALL_VERSIONS</a></pre>
 <div class="block">Define for 'return-all-versions'.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3732,7 +3775,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>FOREVER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.600">FOREVER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.606">FOREVER</a></pre>
 <div class="block">Unlimited time-to-live.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3746,7 +3789,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DAY_IN_SECONDS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.605">DAY_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.611">DAY_IN_SECONDS</a></pre>
 <div class="block">Seconds in a day, hour and minute</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3760,7 +3803,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HOUR_IN_SECONDS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.606">HOUR_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.612">HOUR_IN_SECONDS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HOUR_IN_SECONDS">Constant Field Values</a></dd>
@@ -3773,7 +3816,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>MINUTE_IN_SECONDS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.607">MINUTE_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.613">MINUTE_IN_SECONDS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.MINUTE_IN_SECONDS">Constant Field Values</a></dd>
@@ -3786,7 +3829,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.613">NAME</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.619">NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.NAME">Constant Field Values</a></dd>
@@ -3799,7 +3842,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>VERSIONS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.614">VERSIONS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.620">VERSIONS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.VERSIONS">Constant Field Values</a></dd>
@@ -3812,7 +3855,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>IN_MEMORY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.615">IN_MEMORY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.621">IN_MEMORY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.IN_MEMORY">Constant Field Values</a></dd>
@@ -3825,7 +3868,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>METADATA</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.616">METADATA</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.622">METADATA</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.METADATA">Constant Field Values</a></dd>
@@ -3838,7 +3881,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>CONFIGURATION</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.617">CONFIGURATION</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.623">CONFIGURATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CONFIGURATION">Constant Field Values</a></dd>
@@ -3851,7 +3894,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>RETRY_BACKOFF</h4>
-<pre>public static final&nbsp;int[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.627">RETRY_BACKOFF</a></pre>
+<pre>public static final&nbsp;int[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.633">RETRY_BACKOFF</a></pre>
 <div class="block">Retrying we multiply hbase.client.pause setting by what we have in this array until we
  run out of array items.  Retries beyond this use the last number in the array.  So, for
  example, if hbase.client.pause is 1 second, and maximum retries count
@@ -3866,7 +3909,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_IMPL</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.629">REGION_IMPL</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.635">REGION_IMPL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REGION_IMPL">Constant Field Values</a></dd>
@@ -3879,7 +3922,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SCOPE_LOCAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.635">REPLICATION_SCOPE_LOCAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.641">REPLICATION_SCOPE_LOCAL</a></pre>
 <div class="block">Scope tag for locally scoped data.
  This data will not be replicated.</div>
 <dl>
@@ -3894,7 +3937,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SCOPE_GLOBAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.641">REPLICATION_SCOPE_GLOBAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.647">REPLICATION_SCOPE_GLOBAL</a></pre>
 <div class="block">Scope tag for globally scoped data.
  This data will be replicated to all peers.</div>
 <dl>
@@ -3903,13 +3946,28 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 </dl>
 </li>
 </ul>
+<a name="REPLICATION_SCOPE_SERIAL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_SCOPE_SERIAL</h4>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.653">REPLICATION_SCOPE_SERIAL</a></pre>
+<div class="block">Scope tag for serially scoped data
+ This data will be replicated to all peers by the order of sequence id.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_SERIAL">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="DEFAULT_CLUSTER_ID">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CLUSTER_ID</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.647">DEFAULT_CLUSTER_ID</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.659">DEFAULT_CLUSTER_ID</a></pre>
 <div class="block">Default cluster ID, cannot be used to identify a cluster so a key with
  this value means it wasn't meant for replication.</div>
 </li>
@@ -3920,7 +3978,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.653">HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.665">HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY</a></pre>
 <div class="block">Parameter name for maximum number of bytes returned when calling a scanner's next method.
  Controlled by the client.</div>
 <dl>
@@ -3935,7 +3993,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.660">HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.672">HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY</a></pre>
 <div class="block">Parameter name for maximum number of bytes returned when calling a scanner's next method.
  Controlled by the server.</div>
 <dl>
@@ -3950,7 +4008,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.670">DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.682">DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE</a></pre>
 <div class="block">Maximum number of bytes returned when calling a scanner's next method.
  Note that when a single row is larger than this limit the row is still
  returned completely.
@@ -3968,7 +4026,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.680">DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.692">DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE</a></pre>
 <div class="block">Maximum number of bytes returned when calling a scanner's next method.
  Note that when a single row is larger than this limit the row is still
  returned completely.
@@ -3987,7 +4045,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_PAUSE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.686">HBASE_CLIENT_PAUSE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.698">HBASE_CLIENT_PAUSE</a></pre>
 <div class="block">Parameter name for client pause value, used mostly as value to wait
  before running a retry of a failed get, region lookup, etc.</div>
 <dl>
@@ -4002,7 +4060,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_PAUSE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.691">DEFAULT_HBASE_CLIENT_PAUSE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.703">DEFAULT_HBASE_CLIENT_PAUSE</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_PAUSE"><code>HBASE_CLIENT_PAUSE</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4016,7 +4074,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_PAUSE_FOR_CQTBE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.696">HBASE_CLIENT_PAUSE_FOR_CQTBE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.708">HBASE_CLIENT_PAUSE_FOR_CQTBE</a></pre>
 <div class="block">Parameter name for client pause value for special case such as call queue too big, etc.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4030,7 +4088,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_MAX_TOTAL_TASKS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.701">HBASE_CLIENT_MAX_TOTAL_TASKS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.713">HBASE_CLIENT_MAX_TOTAL_TASKS</a></pre>
 <div class="block">The maximum number of concurrent connections the client will maintain.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4044,7 +4102,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.706">DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.718">DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_MAX_TOTAL_TASKS"><code>HBASE_CLIENT_MAX_TOTAL_TASKS</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4058,7 +4116,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_MAX_PERSERVER_TASKS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.712">HBASE_CLIENT_MAX_PERSERVER_TASKS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.724">HBASE_CLIENT_MAX_PERSERVER_TASKS</a></pre>
 <div class="block">The maximum number of concurrent connections the client will maintain to a single
  RegionServer.</div>
 <dl>
@@ -4073,7 +4131,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.717">DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.729">DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_MAX_PERSERVER_TASKS"><code>HBASE_CLIENT_MAX_PERSERVER_TASKS</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4087,7 +4145,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_MAX_PERREGION_TASKS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.723">HBASE_CLIENT_MAX_PERREGION_TASKS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.735">HBASE_CLIENT_MAX_PERREGION_TASKS</a></pre>
 <div class="block">The maximum number of concurrent connections the client will maintain to a single
  Region.</div>
 <dl>
@@ -4102,7 +4160,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.728">DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.740">DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_MAX_PERREGION_TASKS"><code>HBASE_CLIENT_MAX_PERREGION_TASKS</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4116,7 +4174,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.733">HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.745">HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</a></pre>
 <div class="block">The maximum number of concurrent pending RPC requests for one server in process level.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4130,7 +4188,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.739">DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.751">DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD"><code>HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4144,7 +4202,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SERVER_PAUSE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.746">HBASE_SERVER_PAUSE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.758">HBASE_SERVER_PAUSE</a></pre>
 <div class="block">Parameter name for server pause value, used mostly as value to wait before
  running a retry of a failed operation.</div>
 <dl>
@@ -4159,7 +4217,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_SERVER_PAUSE</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.751">DEFAULT_HBASE_SERVER_PAUSE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.763">DEFAULT_HBASE_SERVER_PAUSE</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_SERVER_PAUSE"><code>HBASE_SERVER_PAUSE</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4173,7 +4231,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_RETRIES_NUMBER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.758">HBASE_CLIENT_RETRIES_NUMBER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.770">HBASE_CLIENT_RETRIES_NUMBER</a></pre>
 <div class="block">Parameter name for maximum retries, used as maximum for all retryable
  operations such as fetching of the root region from root region server,
  getting a cell's value, starting a row update, etc.</div>
@@ -4189,7 +4247,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_RETRIES_NUMBER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.763">DEFAULT_HBASE_CLIENT_RETRIES_NUMBER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.775">DEFAULT_HBASE_CLIENT_RETRIES_NUMBER</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_RETRIES_NUMBER"><code>HBASE_CLIENT_RETRIES_NUMBER</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4203,7 +4261,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.765">HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.777">HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER">Constant Field Values</a></dd>
@@ -4216,7 +4274,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.768">DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.780">DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER">Constant Field Values</a></dd>
@@ -4229,7 +4287,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SCANNER_CACHING</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.773">HBASE_CLIENT_SCANNER_CACHING</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.785">HBASE_CLIENT_SCANNER_CACHING</a></pre>
 <div class="block">Parameter name to set the default scanner caching for all clients.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4243,7 +4301,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SCANNER_CACHING</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.778">DEFAULT_HBASE_CLIENT_SCANNER_CACHING</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.790">DEFAULT_HBASE_CLIENT_SCANNER_CACHING</a></pre>
 <div class="block">Default value for <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_CACHING"><code>HBASE_CLIENT_SCANNER_CACHING</code></a></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4257,7 +4315,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_META_SCANNER_CACHING</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.786">HBASE_META_SCANNER_CACHING</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.798">HBASE_META_SCANNER_CACHING</a></pre>
 <div class="block">Parameter name for number of rows that will be fetched when calling next on
  a scanner if it is not served from memory. Higher caching values will
  enable faster scanners but will eat up more memory and some calls of next
@@ -4274,7 +4332,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_META_SCANNER_CACHING</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.791">DEFAULT_HBASE_META_SCANNER_CACHING</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.803">DEFAULT_HBASE_META_SCANNER_CACHING</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_META_SCANNER_CACHING"><code>HBASE_META_SCANNER_CACHING</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4288,7 +4346,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_META_VERSIONS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.796">HBASE_META_VERSIONS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.808">HBASE_META_VERSIONS</a></pre>
 <div class="block">Parameter name for number of versions, kept by meta table.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4302,7 +4360,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_META_VERSIONS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.801">DEFAULT_HBASE_META_VERSIONS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.813">DEFAULT_HBASE_META_VERSIONS</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_META_VERSIONS"><code>HBASE_META_VERSIONS</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4316,7 +4374,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_META_BLOCK_SIZE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.806">HBASE_META_BLOCK_SIZE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.818">HBASE_META_BLOCK_SIZE</a></pre>
 <div class="block">Parameter name for number of versions, kept by meta table.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4330,7 +4388,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_META_BLOCK_SIZE</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.811">DEFAULT_HBASE_META_BLOCK_SIZE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.823">DEFAULT_HBASE_META_BLOCK_SIZE</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_META_BLOCK_SIZE"><code>HBASE_META_BLOCK_SIZE</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4344,7 +4402,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_INSTANCE_ID</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.822">HBASE_CLIENT_INSTANCE_ID</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.834">HBASE_CLIENT_INSTANCE_ID</a></pre>
 <div class="block">Parameter name for unique identifier for this <code>Configuration</code>
  instance. If there are two or more <code>Configuration</code> instances that,
  for all intents and purposes, are the same except for their instance ids, then they will not be
@@ -4364,7 +4422,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.827">HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.839">HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</a></pre>
 <div class="block">The client scanner timeout period in milliseconds.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4379,7 +4437,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <li class="blockList">
 <h4>HBASE_REGIONSERVER_LEASE_PERIOD_KEY</h4>
 <pre><a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.835">HBASE_REGIONSERVER_LEASE_PERIOD_KEY</a></pre>
+public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.847">HBASE_REGIONSERVER_LEASE_PERIOD_KEY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This config option is deprecated. Will be removed at later releases after 0.96.</span></div>
 <div class="block">Use <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD"><code>HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</code></a> instead.</div>
 <dl>
@@ -4394,7 +4452,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.841">DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.853">DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD"><code>HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4408,7 +4466,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_RPC_TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.846">HBASE_RPC_TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.858">HBASE_RPC_TIMEOUT_KEY</a></pre>
 <div class="block">timeout for each RPC</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4422,7 +4480,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_RPC_READ_TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.851">HBASE_RPC_READ_TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.863">HBASE_RPC_READ_TIMEOUT_KEY</a></pre>
 <div class="block">timeout for each read RPC</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4436,7 +4494,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_RPC_WRITE_TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.856">HBASE_RPC_WRITE_TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.868">HBASE_RPC_WRITE_TIMEOUT_KEY</a></pre>
 <div class="block">timeout for each write RPC</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4450,7 +4508,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_RPC_TIMEOUT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.861">DEFAULT_HBASE_RPC_TIMEOUT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.873">DEFAULT_HBASE_RPC_TIMEOUT</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_RPC_TIMEOUT_KEY"><code>HBASE_RPC_TIMEOUT_KEY</code></a></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4464,7 +4522,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.866">HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.878">HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY</a></pre>
 <div class="block">timeout for short operation RPC</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4478,7 +4536,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.872">DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.884">DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY"><code>HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY</code></a></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4492,7 +4550,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_SEQNUM</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.877">NO_SEQNUM</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.889">NO_SEQNUM</a></pre>
 <div class="block">Value indicating the server name was saved with no sequence number.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4506,7 +4564,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_SERVICE_CLASSNAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.884">REPLICATION_SOURCE_SERVICE_CLASSNAME</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.896">REPLICATION_SOURCE_SERVICE_CLASSNAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME">Constant Field Values</a></dd>
@@ -4519,7 +4577,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SINK_SERVICE_CLASSNAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.886">REPLICATION_SINK_SERVICE_CLASSNAME</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.898">REPLICATION_SINK_SERVICE_CLASSNAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SINK_SERVICE_CLASSNAME">Constant Field Values</a></dd>
@@ -4532,7 +4590,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SERVICE_CLASSNAME_DEFAULT</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.887">REPLICATION_SERVICE_CLASSNAME_DEFAULT</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.899">REPLICATION_SERVICE_CLASSNAME_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT">Constant Field Values</a></dd>
@@ -4545,7 +4603,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_BULKLOAD_ENABLE_KEY</h4>
-<pre>public static final&nbsp;

<TRUNCATED>

[02/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
index b0c3f69..72ebff5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
@@ -255,7 +255,7 @@
 <span class="sourceLineNo">247</span>          setNextState(SplitTableRegionState.SPLIT_TABLE_REGION_UPDATE_META);<a name="line.247"></a>
 <span class="sourceLineNo">248</span>          break;<a name="line.248"></a>
 <span class="sourceLineNo">249</span>        case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          updateMetaForDaughterRegions(env);<a name="line.250"></a>
+<span class="sourceLineNo">250</span>          updateMeta(env);<a name="line.250"></a>
 <span class="sourceLineNo">251</span>          setNextState(SplitTableRegionState.SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META);<a name="line.251"></a>
 <span class="sourceLineNo">252</span>          break;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>        case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.253"></a>
@@ -764,7 +764,7 @@
 <span class="sourceLineNo">756</span>   * Add daughter regions to META<a name="line.756"></a>
 <span class="sourceLineNo">757</span>   * @param env MasterProcedureEnv<a name="line.757"></a>
 <span class="sourceLineNo">758</span>   */<a name="line.758"></a>
-<span class="sourceLineNo">759</span>  private void updateMetaForDaughterRegions(final MasterProcedureEnv env) throws IOException {<a name="line.759"></a>
+<span class="sourceLineNo">759</span>  private void updateMeta(final MasterProcedureEnv env) throws IOException {<a name="line.759"></a>
 <span class="sourceLineNo">760</span>    env.getAssignmentManager().markRegionAsSplit(getParentRegion(), getParentRegionServerName(env),<a name="line.760"></a>
 <span class="sourceLineNo">761</span>      daughter_1_RI, daughter_2_RI);<a name="line.761"></a>
 <span class="sourceLineNo">762</span>  }<a name="line.762"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
index b0c3f69..72ebff5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
@@ -255,7 +255,7 @@
 <span class="sourceLineNo">247</span>          setNextState(SplitTableRegionState.SPLIT_TABLE_REGION_UPDATE_META);<a name="line.247"></a>
 <span class="sourceLineNo">248</span>          break;<a name="line.248"></a>
 <span class="sourceLineNo">249</span>        case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          updateMetaForDaughterRegions(env);<a name="line.250"></a>
+<span class="sourceLineNo">250</span>          updateMeta(env);<a name="line.250"></a>
 <span class="sourceLineNo">251</span>          setNextState(SplitTableRegionState.SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META);<a name="line.251"></a>
 <span class="sourceLineNo">252</span>          break;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>        case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.253"></a>
@@ -764,7 +764,7 @@
 <span class="sourceLineNo">756</span>   * Add daughter regions to META<a name="line.756"></a>
 <span class="sourceLineNo">757</span>   * @param env MasterProcedureEnv<a name="line.757"></a>
 <span class="sourceLineNo">758</span>   */<a name="line.758"></a>
-<span class="sourceLineNo">759</span>  private void updateMetaForDaughterRegions(final MasterProcedureEnv env) throws IOException {<a name="line.759"></a>
+<span class="sourceLineNo">759</span>  private void updateMeta(final MasterProcedureEnv env) throws IOException {<a name="line.759"></a>
 <span class="sourceLineNo">760</span>    env.getAssignmentManager().markRegionAsSplit(getParentRegion(), getParentRegionServerName(env),<a name="line.760"></a>
 <span class="sourceLineNo">761</span>      daughter_1_RI, daughter_2_RI);<a name="line.761"></a>
 <span class="sourceLineNo">762</span>  }<a name="line.762"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
index 76ab2b9..61ac160 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
@@ -32,107 +32,102 @@
 <span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.TableName;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.master.MasterFileSystem;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<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.util.FSUtils;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.yetus.audience.InterfaceAudience;<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> * Base class for all the Table procedures that want to use a StateMachineProcedure.<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * It provides helpers like basic locking, sync latch, and toStringClassDetails().<a name="line.36"></a>
-<span class="sourceLineNo">037</span> */<a name="line.37"></a>
-<span class="sourceLineNo">038</span>@InterfaceAudience.Private<a name="line.38"></a>
-<span class="sourceLineNo">039</span>public abstract class AbstractStateMachineTableProcedure&lt;TState&gt;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, TState&gt;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    implements TableProcedureInterface {<a name="line.41"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.procedure2.StateMachineProcedure;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.security.User;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<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> * Base class for all the Table procedures that want to use a StateMachineProcedure.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * It provides helpers like basic locking, sync latch, and toStringClassDetails().<a name="line.33"></a>
+<span class="sourceLineNo">034</span> */<a name="line.34"></a>
+<span class="sourceLineNo">035</span>@InterfaceAudience.Private<a name="line.35"></a>
+<span class="sourceLineNo">036</span>public abstract class AbstractStateMachineTableProcedure&lt;TState&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>    extends StateMachineProcedure&lt;MasterProcedureEnv, TState&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>    implements TableProcedureInterface {<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>  // used for compatibility with old clients<a name="line.40"></a>
+<span class="sourceLineNo">041</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.41"></a>
 <span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  // used for compatibility with old clients<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  private final ProcedurePrepareLatch syncLatch;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  private User user;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  protected AbstractStateMachineTableProcedure() {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    // Required by the Procedure framework to create the procedure on replay<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    syncLatch = null;<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>  protected AbstractStateMachineTableProcedure(final MasterProcedureEnv env) {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    this(env, null);<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>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * @param env Uses this to set Procedure Owner at least.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   */<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  protected AbstractStateMachineTableProcedure(final MasterProcedureEnv env,<a name="line.60"></a>
-<span class="sourceLineNo">061</span>      final ProcedurePrepareLatch latch) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    if (env != null) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      this.user = env.getRequestUser();<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      this.setOwner(user);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    // used for compatibility with clients without procedures<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    // they need a sync TableExistsException, TableNotFoundException, TableNotDisabledException, ...<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    this.syncLatch = latch;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">043</span>  private User user;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>  protected AbstractStateMachineTableProcedure() {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    // Required by the Procedure framework to create the procedure on replay<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    syncLatch = null;<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>  protected AbstractStateMachineTableProcedure(final MasterProcedureEnv env) {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    this(env, null);<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  /**<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * @param env Uses this to set Procedure Owner at least.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  protected AbstractStateMachineTableProcedure(final MasterProcedureEnv env,<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      final ProcedurePrepareLatch latch) {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    if (env != null) {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      this.user = env.getRequestUser();<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      this.setOwner(user);<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    }<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    // used for compatibility with clients without procedures<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    // they need a sync TableExistsException, TableNotFoundException, TableNotDisabledException, ...<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    this.syncLatch = latch;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  @Override<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public abstract TableName getTableName();<a name="line.69"></a>
 <span class="sourceLineNo">070</span><a name="line.70"></a>
 <span class="sourceLineNo">071</span>  @Override<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public abstract TableName getTableName();<a name="line.72"></a>
+<span class="sourceLineNo">072</span>  public abstract TableOperationType getTableOperationType();<a name="line.72"></a>
 <span class="sourceLineNo">073</span><a name="line.73"></a>
 <span class="sourceLineNo">074</span>  @Override<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public abstract TableOperationType getTableOperationType();<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  @Override<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public void toStringClassDetails(final StringBuilder sb) {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    sb.append(getClass().getSimpleName());<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    sb.append(" table=");<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    sb.append(getTableName());<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>
-<span class="sourceLineNo">084</span>  @Override<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  protected LockState acquireLock(final MasterProcedureEnv env) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    if (env.waitInitialized(this)) return LockState.LOCK_EVENT_WAIT;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    if (env.getProcedureScheduler().waitTableExclusiveLock(this, getTableName())) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      return LockState.LOCK_EVENT_WAIT;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    return LockState.LOCK_ACQUIRED;<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>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    env.getProcedureScheduler().wakeTableExclusiveLock(this, getTableName());<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>  protected User getUser() {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    return user;<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>  protected void setUser(final User user) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    this.user = user;<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>  protected void releaseSyncLatch() {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<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>  /**<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * Check whether a table is modifiable - exists and either offline or online with config set<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * @param env MasterProcedureEnv<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * @throws IOException<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  protected void checkTableModifiable(final MasterProcedureEnv env) throws IOException {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    // Checks whether the table exists<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), getTableName())) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      throw new TableNotFoundException(getTableName());<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>  protected final Path getRegionDir(MasterProcedureEnv env, RegionInfo region) throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    Path tableDir = FSUtils.getTableDir(mfs.getRootDir(), getTableName());<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return new Path(tableDir, ServerRegionReplicaUtil.getRegionInfoForFs(region).getEncodedName());<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">075</span>  public void toStringClassDetails(final StringBuilder sb) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    sb.append(getClass().getSimpleName());<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    sb.append(" table=");<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    sb.append(getTableName());<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>  @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  protected LockState acquireLock(final MasterProcedureEnv env) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    if (env.waitInitialized(this)) return LockState.LOCK_EVENT_WAIT;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    if (env.getProcedureScheduler().waitTableExclusiveLock(this, getTableName())) {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>      return LockState.LOCK_EVENT_WAIT;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    }<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    return LockState.LOCK_ACQUIRED;<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>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    env.getProcedureScheduler().wakeTableExclusiveLock(this, getTableName());<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>  protected User getUser() {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    return user;<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>  protected void setUser(final User user) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this.user = user;<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>  protected void releaseSyncLatch() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  /**<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * Check whether a table is modifiable - exists and either offline or online with config set<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * @param env MasterProcedureEnv<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * @throws IOException<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  protected void checkTableModifiable(final MasterProcedureEnv env) throws IOException {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    // Checks whether the table exists<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    if (!MetaTableAccessor.tableExists(env.getMasterServices().getConnection(), getTableName())) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      throw new TableNotFoundException(getTableName());<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>  protected final Path getRegionDir(MasterProcedureEnv env, RegionInfo region) throws IOException {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    return env.getMasterServices().getMasterFileSystem().getRegionDir(region);<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>
 
 
 


[24/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html b/devapidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html
index 2d242af..1330022 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html
@@ -639,7 +639,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <ul class="blockList">
 <li class="blockList">
 <h4>TABLEINFO_FILESTATUS_COMPARATOR</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;org.apache.hadoop.fs.FileStatus&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.455">TABLEINFO_FILESTATUS_COMPARATOR</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;org.apache.hadoop.fs.FileStatus&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.463">TABLEINFO_FILESTATUS_COMPARATOR</a></pre>
 <div class="block">Compare <code>FileStatus</code> instances by <code>Path.getName()</code>. Returns in
  reverse order.</div>
 </li>
@@ -650,7 +650,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <ul class="blockList">
 <li class="blockList">
 <h4>TABLEINFO_PATHFILTER</h4>
-<pre>private static final&nbsp;org.apache.hadoop.fs.PathFilter <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.469">TABLEINFO_PATHFILTER</a></pre>
+<pre>private static final&nbsp;org.apache.hadoop.fs.PathFilter <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.477">TABLEINFO_PATHFILTER</a></pre>
 </li>
 </ul>
 <a name="WIDTH_OF_SEQUENCE_ID">
@@ -659,7 +659,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <ul class="blockList">
 <li class="blockList">
 <h4>WIDTH_OF_SEQUENCE_ID</h4>
-<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.479">WIDTH_OF_SEQUENCE_ID</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.487">WIDTH_OF_SEQUENCE_ID</a></pre>
 <div class="block">Width of the sequenceid that is a suffix on a tableinfo file.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -673,7 +673,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TABLEINFO_FILE_REGEX</h4>
-<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.501">TABLEINFO_FILE_REGEX</a></pre>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.509">TABLEINFO_FILE_REGEX</a></pre>
 <div class="block">Regex to eat up sequenceid suffix on a .tableinfo file.
  Use regex because may encounter oldstyle .tableinfos where there is no
  sequenceid on the end.</div>
@@ -794,7 +794,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createMetaTableDescriptor</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.176">createMetaTableDescriptor</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.184">createMetaTableDescriptor</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -808,7 +808,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setCacheOn</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.182">setCacheOn</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.190">setCacheOn</a>()
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#setCacheOn--">TableDescriptors</a></code></span></div>
 <div class="block">Enables the tabledescriptor cache</div>
@@ -826,7 +826,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setCacheOff</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.188">setCacheOff</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.196">setCacheOff</a>()
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#setCacheOff--">TableDescriptors</a></code></span></div>
 <div class="block">Disables the tabledescriptor cache</div>
@@ -844,7 +844,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isUsecache</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.194">isUsecache</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.202">isUsecache</a>()</pre>
 </li>
 </ul>
 <a name="get-org.apache.hadoop.hbase.TableName-">
@@ -854,7 +854,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
 <li class="blockList">
 <h4>get</h4>
 <pre>@Nullable
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.206">get</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.214">get</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get the current table descriptor for the given table, or null if none exists.
 
@@ -876,7 +876,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getAll</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.251">getAll</a>()
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.259">getAll</a>()
                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns a map from table name to table descriptor for all tables.</div>
 <dl>
@@ -895,7 +895,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getByNamespace</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.289">getByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.297">getByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Find descriptors by namespace.</div>
 <dl>
@@ -916,7 +916,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>add</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.313">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.321">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Adds (or updates) the table descriptor to the FileSystem
  and updates the local cache with it.</div>
@@ -936,7 +936,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>remove</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.335">remove</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.343">remove</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Removes the table descriptor from the local cache and returns it.
  If not in read only mode, it also deletes the entire table directory(!)
@@ -957,7 +957,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableInfoExists</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.357">isTableInfoExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.365">isTableInfoExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Checks if a current table info file exists for the given table</div>
 <dl>
@@ -976,7 +976,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableInfoPath</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.365">getTableInfoPath</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>private&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.373">getTableInfoPath</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Find the most current table info file for the given table in the hbase root directory.</div>
 <dl>
@@ -993,7 +993,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableInfoPath</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.370">getTableInfoPath</a>(org.apache.hadoop.fs.Path&nbsp;tableDir)
+<pre>private&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.378">getTableInfoPath</a>(org.apache.hadoop.fs.Path&nbsp;tableDir)
                                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1007,7 +1007,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableInfoPath</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.386">getTableInfoPath</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.394">getTableInfoPath</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                org.apache.hadoop.fs.Path&nbsp;tableDir)
                                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Find the most current table info file for the table located in the given table directory.
@@ -1030,7 +1030,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableInfoPath</h4>
-<pre>private static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.404">getTableInfoPath</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.412">getTableInfoPath</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                 org.apache.hadoop.fs.Path&nbsp;tableDir,
                                                                 boolean&nbsp;removeOldFiles)
                                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1056,7 +1056,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentTableInfoStatus</h4>
-<pre>static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.424">getCurrentTableInfoStatus</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>static&nbsp;org.apache.hadoop.fs.FileStatus&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.432">getCurrentTableInfoStatus</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                  org.apache.hadoop.fs.Path&nbsp;dir,
                                                                  boolean&nbsp;removeOldFiles)
                                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1082,7 +1082,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDir</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.465">getTableDir</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.473">getTableDir</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Return the table directory in HDFS</div>
 </li>
 </ul>
@@ -1092,7 +1092,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>formatTableInfoSequenceId</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.486">formatTableInfoSequenceId</a>(int&nbsp;number)</pre>
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.494">formatTableInfoSequenceId</a>(int&nbsp;number)</pre>
 </li>
 </ul>
 <a name="getTableInfoSequenceId-org.apache.hadoop.fs.Path-">
@@ -1101,7 +1101,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableInfoSequenceId</h4>
-<pre>static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.508">getTableInfoSequenceId</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
+<pre>static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.516">getTableInfoSequenceId</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>p</code> - Path to a <code>.tableinfo</code> file.</dd>
@@ -1116,7 +1116,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableInfoFileName</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.521">getTableInfoFileName</a>(int&nbsp;sequenceid)</pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.529">getTableInfoFileName</a>(int&nbsp;sequenceid)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>sequenceid</code> - </dd>
@@ -1131,7 +1131,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptorFromFs</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.530">getTableDescriptorFromFs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.538">getTableDescriptorFromFs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                        org.apache.hadoop.fs.Path&nbsp;hbaseRootDir,
                                                        <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1150,7 +1150,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptorFromFs</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.541">getTableDescriptorFromFs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.549">getTableDescriptorFromFs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                        org.apache.hadoop.fs.Path&nbsp;tableDir)
                                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns the latest table descriptor for the table located at the given directory
@@ -1168,7 +1168,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>readTableDescriptor</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.550">readTableDescriptor</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.558">readTableDescriptor</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                    org.apache.hadoop.fs.FileStatus&nbsp;status)
                                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1183,7 +1183,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>updateTableDescriptor</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.574">updateTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td)
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.582">updateTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;td)
                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Update table descriptor on the file system</div>
 <dl>
@@ -1199,7 +1199,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTableDescriptorIfExists</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.595">deleteTableDescriptorIfExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.603">deleteTableDescriptorIfExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Deletes all the table descriptor files from the file system.
  Used in unit tests only.</div>
@@ -1216,7 +1216,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTableDescriptorFiles</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.609">deleteTableDescriptorFiles</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.617">deleteTableDescriptorFiles</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                org.apache.hadoop.fs.Path&nbsp;dir,
                                                int&nbsp;maxSequenceId)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1234,7 +1234,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>writeTableDescriptor</h4>
-<pre>private static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.635">writeTableDescriptor</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.643">writeTableDescriptor</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                               <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                                                               org.apache.hadoop.fs.Path&nbsp;tableDir,
                                                               org.apache.hadoop.fs.FileStatus&nbsp;currentDescriptorFile)
@@ -1258,7 +1258,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>writeTD</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.691">writeTD</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.699">writeTD</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                             org.apache.hadoop.fs.Path&nbsp;p,
                             <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1274,7 +1274,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>createTableDescriptor</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.708">createTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.716">createTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create new TableDescriptor in HDFS. Happens when we are creating table.
  Used by tests.</div>
@@ -1292,7 +1292,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockList">
 <li class="blockList">
 <h4>createTableDescriptor</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.719">createTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.727">createTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                                      boolean&nbsp;forceCreation)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create new TableDescriptor in HDFS. Happens when we are creating table. If
@@ -1312,7 +1312,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescript
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createTableDescriptorForTableDirectory</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.736">createTableDescriptorForTableDirectory</a>(org.apache.hadoop.fs.Path&nbsp;tableDir,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSTableDescriptors.html#line.744">createTableDescriptorForTableDirectory</a>(org.apache.hadoop.fs.Path&nbsp;tableDir,
                                                       <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                                                       boolean&nbsp;forceCreation)
                                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html
index 2874248..890b251 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1035">FSUtils.FamilyDirFilter</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1039">FSUtils.FamilyDirFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusFilter.html" title="class in org.apache.hadoop.hbase.util">AbstractFileStatusFilter</a></pre>
 <div class="block">Filter for all dirs that are legal column family names.  This is generally used for colfam
  dirs &lt;hbase.rootdir&gt;/&lt;tabledir&gt;/&lt;regiondir&gt;/&lt;colfamdir&gt;.</div>
@@ -222,7 +222,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>fs</h4>
-<pre>final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html#line.1036">fs</a></pre>
+<pre>final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html#line.1040">fs</a></pre>
 </li>
 </ul>
 </li>
@@ -239,7 +239,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FamilyDirFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html#line.1038">FamilyDirFilter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html#line.1042">FamilyDirFilter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</pre>
 </li>
 </ul>
 </li>
@@ -256,7 +256,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>accept</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html#line.1043">accept</a>(org.apache.hadoop.fs.Path&nbsp;p,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html#line.1047">accept</a>(org.apache.hadoop.fs.Path&nbsp;p,
                          @CheckForNull
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;isDir)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusFilter.html#accept-org.apache.hadoop.fs.Path-java.lang.Boolean-">AbstractFileStatusFilter</a></code></span></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html
index 13217c9..b915f9e 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1097">FSUtils.HFileFilter</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1101">FSUtils.HFileFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusFilter.html" title="class in org.apache.hadoop.hbase.util">AbstractFileStatusFilter</a></pre>
 <div class="block">Filter for HFiles that excludes reference files.</div>
 </li>
@@ -221,7 +221,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>fs</h4>
-<pre>final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html#line.1098">fs</a></pre>
+<pre>final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html#line.1102">fs</a></pre>
 </li>
 </ul>
 </li>
@@ -238,7 +238,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html#line.1100">HFileFilter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html#line.1104">HFileFilter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</pre>
 </li>
 </ul>
 </li>
@@ -255,7 +255,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>accept</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html#line.1105">accept</a>(org.apache.hadoop.fs.Path&nbsp;p,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html#line.1109">accept</a>(org.apache.hadoop.fs.Path&nbsp;p,
                          @CheckForNull
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;isDir)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusFilter.html#accept-org.apache.hadoop.fs.Path-java.lang.Boolean-">AbstractFileStatusFilter</a></code></span></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html
index 7c9f593..e7c0669 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1124">FSUtils.HFileLinkFilter</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1128">FSUtils.HFileLinkFilter</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.hadoop.fs.PathFilter</pre>
 <div class="block">Filter for HFileLinks (StoreFiles and HFiles not included).
@@ -189,7 +189,7 @@ implements org.apache.hadoop.fs.PathFilter</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileLinkFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html#line.1124">HFileLinkFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html#line.1128">HFileLinkFilter</a>()</pre>
 </li>
 </ul>
 </li>
@@ -206,7 +206,7 @@ implements org.apache.hadoop.fs.PathFilter</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>accept</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html#line.1127">accept</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html#line.1131">accept</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>accept</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.fs.PathFilter</code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html
index a8d7078..8f8588b 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1132">FSUtils.ReferenceFileFilter</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1136">FSUtils.ReferenceFileFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusFilter.html" title="class in org.apache.hadoop.hbase.util">AbstractFileStatusFilter</a></pre>
 </li>
 </ul>
@@ -220,7 +220,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>fs</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html#line.1134">fs</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html#line.1138">fs</a></pre>
 </li>
 </ul>
 </li>
@@ -237,7 +237,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReferenceFileFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html#line.1136">ReferenceFileFilter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html#line.1140">ReferenceFileFilter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</pre>
 </li>
 </ul>
 </li>
@@ -254,7 +254,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>accept</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html#line.1141">accept</a>(org.apache.hadoop.fs.Path&nbsp;p,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html#line.1145">accept</a>(org.apache.hadoop.fs.Path&nbsp;p,
                          @CheckForNull
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;isDir)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/AbstractFileStatusFilter.html#accept-org.apache.hadoop.fs.Path-java.lang.Boolean-">AbstractFileStatusFilter</a></code></span></div>


[08/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
index 05c0542..644bb30 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
@@ -1062,366 +1062,375 @@
 <span class="sourceLineNo">1054</span>    }<a name="line.1054"></a>
 <span class="sourceLineNo">1055</span><a name="line.1055"></a>
 <span class="sourceLineNo">1056</span>    /**<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>     * Returns the configured replicas per region<a name="line.1057"></a>
+<span class="sourceLineNo">1057</span>     * Return true if there are at least one cf whose replication scope is serial.<a name="line.1057"></a>
 <span class="sourceLineNo">1058</span>     */<a name="line.1058"></a>
 <span class="sourceLineNo">1059</span>    @Override<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    public int getRegionReplication() {<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      return getOrDefault(REGION_REPLICATION_KEY, Integer::valueOf, DEFAULT_REGION_REPLICATION);<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>     * Sets the number of replicas per region.<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>     *<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>     * @param regionReplication the replication factor per region<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>     * @return the modifyable TD<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>     */<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>    public ModifyableTableDescriptor setRegionReplication(int regionReplication) {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>      return setValue(REGION_REPLICATION_KEY, Integer.toString(regionReplication));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    }<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>     * @return true if the read-replicas memstore replication is enabled.<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>     */<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    @Override<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    public boolean hasRegionMemStoreReplication() {<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      return getOrDefault(REGION_MEMSTORE_REPLICATION_KEY, Boolean::valueOf, DEFAULT_REGION_MEMSTORE_REPLICATION);<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    }<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span><a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>    /**<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>     * Enable or Disable the memstore replication from the primary region to the<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>     * replicas. The replication will be used only for meta operations (e.g.<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>     * flush, compaction, ...)<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>     *<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>     * @param memstoreReplication true if the new data written to the primary<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>     * region should be replicated. false if the secondaries can tollerate to<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>     * have new data only when the primary flushes the memstore.<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>     * @return the modifyable TD<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>     */<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>    public ModifyableTableDescriptor setRegionMemStoreReplication(boolean memstoreReplication) {<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>      setValue(REGION_MEMSTORE_REPLICATION_KEY, Boolean.toString(memstoreReplication));<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>      // If the memstore replication is setup, we do not have to wait for observing a flush event<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>      // from primary before starting to serve reads, because gaps from replication is not applicable<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>      return setValue(REGION_REPLICA_WAIT_FOR_PRIMARY_FLUSH_CONF_KEY,<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>              Boolean.toString(memstoreReplication));<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>    public ModifyableTableDescriptor setPriority(int priority) {<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>      return setValue(PRIORITY_KEY, Integer.toString(priority));<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    }<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span><a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    @Override<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>    public int getPriority() {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>      return getOrDefault(PRIORITY_KEY, Integer::valueOf, DEFAULT_PRIORITY);<a name="line.1106"></a>
+<span class="sourceLineNo">1060</span>    public boolean hasSerialReplicationScope() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>      return families.values().stream()<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>        .anyMatch(column -&gt; column.getScope() == HConstants.REPLICATION_SCOPE_SERIAL);<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>    /**<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>     * Returns the configured replicas per region<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>     */<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>    @Override<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>    public int getRegionReplication() {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>      return getOrDefault(REGION_REPLICATION_KEY, Integer::valueOf, DEFAULT_REGION_REPLICATION);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>    }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>    /**<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>     * Sets the number of replicas per region.<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>     *<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>     * @param regionReplication the replication factor per region<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>     * @return the modifyable TD<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>     */<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    public ModifyableTableDescriptor setRegionReplication(int regionReplication) {<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>      return setValue(REGION_REPLICATION_KEY, Integer.toString(regionReplication));<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>    }<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span><a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>    /**<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>     * @return true if the read-replicas memstore replication is enabled.<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>    public boolean hasRegionMemStoreReplication() {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>      return getOrDefault(REGION_MEMSTORE_REPLICATION_KEY, Boolean::valueOf, DEFAULT_REGION_MEMSTORE_REPLICATION);<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>    }<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span><a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>    /**<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>     * Enable or Disable the memstore replication from the primary region to the<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>     * replicas. The replication will be used only for meta operations (e.g.<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>     * flush, compaction, ...)<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>     *<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>     * @param memstoreReplication true if the new data written to the primary<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>     * region should be replicated. false if the secondaries can tollerate to<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>     * have new data only when the primary flushes the memstore.<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>     * @return the modifyable TD<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>     */<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    public ModifyableTableDescriptor setRegionMemStoreReplication(boolean memstoreReplication) {<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>      setValue(REGION_MEMSTORE_REPLICATION_KEY, Boolean.toString(memstoreReplication));<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      // If the memstore replication is setup, we do not have to wait for observing a flush event<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>      // from primary before starting to serve reads, because gaps from replication is not applicable<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>      return setValue(REGION_REPLICA_WAIT_FOR_PRIMARY_FLUSH_CONF_KEY,<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>              Boolean.toString(memstoreReplication));<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>     * Returns all the column family names of the current table. The map of<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>     * TableDescriptor contains mapping of family name to ColumnFamilyDescriptor.<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>     * This returns all the keys of the family map which represents the column<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>     * family names of the table.<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>     *<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>     * @return Immutable sorted set of the keys of the families.<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>     */<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    @Override<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>    public Set&lt;byte[]&gt; getColumnFamilyNames() {<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>      return Collections.unmodifiableSet(this.families.keySet());<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">1122</span>    /**<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>     * Returns the ColumnFamilyDescriptor for a specific column family with name as<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>     * specified by the parameter column.<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>     *<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>     * @param column Column family name<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>     * passed in column.<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>     */<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>    @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>    public ColumnFamilyDescriptor getColumnFamily(final byte[] column) {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>      return this.families.get(column);<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>    /**<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>     * Removes the ColumnFamilyDescriptor with name specified by the parameter column<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>     * from the table descriptor<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>     *<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>     * @param column Name of the column family to be removed.<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>     * passed in column.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>     */<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>    public ColumnFamilyDescriptor removeColumnFamily(final byte[] column) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>      return this.families.remove(column);<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>    }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    /**<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>     * loadable or not will be determined when a region is opened.<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>     *<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>     * @param className Full class name.<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>     * @throws IOException<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>     * @return the modifyable TD<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>     */<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    public ModifyableTableDescriptor addCoprocessor(String className) throws IOException {<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      return addCoprocessor(className, null, Coprocessor.PRIORITY_USER, null);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>    }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>    /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>     * loadable or not will be determined when a region is opened.<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>     *<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>     * @param jarFilePath Path of the jar file. If it's null, the class will be<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>     * loaded from default classloader.<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>     * @param className Full class name.<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>     * @param priority Priority<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>     * @param kvs Arbitrary key-value parameter pairs passed into the<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>     * coprocessor.<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>     * @throws IOException<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>     * @return the modifyable TD<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>     */<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>    public ModifyableTableDescriptor addCoprocessor(String className, Path jarFilePath,<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>            int priority, final Map&lt;String, String&gt; kvs)<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>            throws IOException {<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>      checkHasCoprocessor(className);<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>      // Validate parameter kvs and then add key/values to kvString.<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>      StringBuilder kvString = new StringBuilder();<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>      if (kvs != null) {<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>        for (Map.Entry&lt;String, String&gt; e : kvs.entrySet()) {<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>          if (!e.getKey().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN)) {<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>            throw new IOException("Illegal parameter key = " + e.getKey());<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>          }<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>          if (!e.getValue().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN)) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>            throw new IOException("Illegal parameter (" + e.getKey()<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>                    + ") value = " + e.getValue());<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>          }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>          if (kvString.length() != 0) {<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>            kvString.append(',');<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>          }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>          kvString.append(e.getKey());<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>          kvString.append('=');<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>          kvString.append(e.getValue());<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>        }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>      }<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span><a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>      String value = ((jarFilePath == null) ? "" : jarFilePath.toString())<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>              + "|" + className + "|" + Integer.toString(priority) + "|"<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>              + kvString.toString();<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>      return addCoprocessorToMap(value);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>    }<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span><a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>    /**<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>     * loadable or not will be determined when a region is opened.<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>     *<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>     * @throws IOException<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>     * @return the modifyable TD<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>     */<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>    public ModifyableTableDescriptor addCoprocessorWithSpec(final String specStr) throws IOException {<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>      String className = getCoprocessorClassNameFromSpecStr(specStr);<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>      if (className == null) {<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>        throw new IllegalArgumentException("Format does not match "<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>                + HConstants.CP_HTD_ATTR_VALUE_PATTERN + ": " + specStr);<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>      }<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>      checkHasCoprocessor(className);<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>      return addCoprocessorToMap(specStr);<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>    }<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>    private void checkHasCoprocessor(final String className) throws IOException {<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>      if (hasCoprocessor(className)) {<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>        throw new IOException("Coprocessor " + className + " already exists.");<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>      }<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>    }<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span><a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>    /**<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>     * Add coprocessor to values Map<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>     *<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>     * @return Returns &lt;code&gt;this&lt;/code&gt;<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>     */<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>    private ModifyableTableDescriptor addCoprocessorToMap(final String specStr) {<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>      if (specStr == null) {<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>        return this;<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>      }<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>      // generate a coprocessor key<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>      int maxCoprocessorNumber = 0;<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span>      Matcher keyMatcher;<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>        if (!keyMatcher.matches()) {<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>          continue;<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>        }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>        maxCoprocessorNumber = Math.max(Integer.parseInt(keyMatcher.group(1)), maxCoprocessorNumber);<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>      }<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>      maxCoprocessorNumber++;<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>      String key = "coprocessor$" + Integer.toString(maxCoprocessorNumber);<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>      return setValue(new Bytes(Bytes.toBytes(key)), new Bytes(Bytes.toBytes(specStr)));<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>    }<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span><a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>    /**<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>     * Check if the table has an attached co-processor represented by the name<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>     * className<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>     *<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>     * @param classNameToMatch - Class name of the co-processor<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>     * @return true of the table has a co-processor className<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>     */<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>    @Override<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>    public boolean hasCoprocessor(String classNameToMatch) {<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>      Matcher keyMatcher;<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>              : this.values.entrySet()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>        keyMatcher<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>                = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>                        Bytes.toString(e.getKey().get()));<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>        if (!keyMatcher.matches()) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>          continue;<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>        }<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>        if (className == null) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>          continue;<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>        }<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>        if (className.equals(classNameToMatch.trim())) {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>          return true;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>        }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>      }<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>      return false;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>    }<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span><a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>    /**<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>     * Return the list of attached co-processor represented by their name<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>     * className<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>     *<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>     * @return The list of co-processors classNames<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>     */<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>    @Override<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>    public List&lt;String&gt; getCoprocessors() {<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>      List&lt;String&gt; result = new ArrayList&lt;&gt;(this.values.entrySet().size());<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>      Matcher keyMatcher;<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>        if (!keyMatcher.matches()) {<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>          continue;<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>        }<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>        if (className == null) {<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>          continue;<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        }<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>        result.add(className); // classname is the 2nd field<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      }<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>      return result;<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>    }<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span><a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    /**<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>     * @param spec String formatted as per<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>     * {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>     * @return Class parsed from passed in &lt;code&gt;spec&lt;/code&gt; or null if no match<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>     * or classpath found<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>     */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>    private static String getCoprocessorClassNameFromSpecStr(final String spec) {<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>      Matcher matcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(spec);<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>      // Classname is the 2nd field<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>      return matcher != null &amp;&amp; matcher.matches() ? matcher.group(2).trim() : null;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>    }<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>    /**<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>     * Remove a coprocessor from those set on the table<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>     *<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>     * @param className Class name of the co-processor<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>     */<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    public void removeCoprocessor(String className) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>      Bytes match = null;<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>      Matcher keyMatcher;<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>      Matcher valueMatcher;<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>              .entrySet()) {<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>                .getKey().get()));<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>        if (!keyMatcher.matches()) {<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>          continue;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>        }<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>        valueMatcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(Bytes<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>                .toString(e.getValue().get()));<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>        if (!valueMatcher.matches()) {<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>          continue;<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>        }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>        // get className and compare<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>        String clazz = valueMatcher.group(2).trim(); // classname is the 2nd field<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>        // remove the CP if it is present<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>        if (clazz.equals(className.trim())) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>          match = e.getKey();<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>          break;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>        }<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>      }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>      // if we found a match, remove it<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>      if (match != null) {<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>        ModifyableTableDescriptor.this.removeValue(match);<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>      }<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>    }<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span><a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>    @Deprecated<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>    public ModifyableTableDescriptor setOwner(User owner) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      return setOwnerString(owner != null ? owner.getShortName() : null);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    }<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>    // used by admin.rb:alter(table_name,*args) to update owner.<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>    @Deprecated<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>    public ModifyableTableDescriptor setOwnerString(String ownerString) {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      return setValue(OWNER_KEY, ownerString);<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>    }<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span><a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    @Override<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>    @Deprecated<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>    public String getOwnerString() {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>      // Note that every table should have an owner (i.e. should have OWNER_KEY set).<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>      // hbase:meta should return system user as owner, not null (see<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>      // MasterFileSystem.java:bootstrap()).<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>      return getOrDefault(OWNER_KEY, Function.identity(), null);<a name="line.1377"></a>
+<span class="sourceLineNo">1109</span>    public ModifyableTableDescriptor setPriority(int priority) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>      return setValue(PRIORITY_KEY, Integer.toString(priority));<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>    }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span><a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    @Override<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>    public int getPriority() {<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>      return getOrDefault(PRIORITY_KEY, Integer::valueOf, DEFAULT_PRIORITY);<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>    }<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">1119</span>     * Returns all the column family names of the current table. The map of<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>     * TableDescriptor contains mapping of family name to ColumnFamilyDescriptor.<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>     * This returns all the keys of the family map which represents the column<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>     * family names of the table.<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>     *<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>     * @return Immutable sorted set of the keys of the families.<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>     */<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>    @Override<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>    public Set&lt;byte[]&gt; getColumnFamilyNames() {<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>      return Collections.unmodifiableSet(this.families.keySet());<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>    }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>    /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>     * Returns the ColumnFamilyDescriptor for a specific column family with name as<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>     * specified by the parameter column.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>     *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>     * @param column Column family name<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>     * passed in column.<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>     */<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>    @Override<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>    public ColumnFamilyDescriptor getColumnFamily(final byte[] column) {<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>      return this.families.get(column);<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>    }<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>    /**<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>     * Removes the ColumnFamilyDescriptor with name specified by the parameter column<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>     * from the table descriptor<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>     *<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>     * @param column Name of the column family to be removed.<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>     * passed in column.<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>     */<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    public ColumnFamilyDescriptor removeColumnFamily(final byte[] column) {<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>      return this.families.remove(column);<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>    }<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>    /**<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>     * loadable or not will be determined when a region is opened.<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>     *<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>     * @param className Full class name.<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>     * @throws IOException<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>     * @return the modifyable TD<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>     */<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>    public ModifyableTableDescriptor addCoprocessor(String className) throws IOException {<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>      return addCoprocessor(className, null, Coprocessor.PRIORITY_USER, null);<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>    }<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span><a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>    /**<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>     * loadable or not will be determined when a region is opened.<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>     *<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>     * @param jarFilePath Path of the jar file. If it's null, the class will be<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>     * loaded from default classloader.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>     * @param className Full class name.<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>     * @param priority Priority<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>     * @param kvs Arbitrary key-value parameter pairs passed into the<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>     * coprocessor.<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>     * @throws IOException<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>     * @return the modifyable TD<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>     */<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>    public ModifyableTableDescriptor addCoprocessor(String className, Path jarFilePath,<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>            int priority, final Map&lt;String, String&gt; kvs)<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>            throws IOException {<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>      checkHasCoprocessor(className);<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span><a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>      // Validate parameter kvs and then add key/values to kvString.<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>      StringBuilder kvString = new StringBuilder();<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>      if (kvs != null) {<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>        for (Map.Entry&lt;String, String&gt; e : kvs.entrySet()) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>          if (!e.getKey().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN)) {<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>            throw new IOException("Illegal parameter key = " + e.getKey());<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>          }<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>          if (!e.getValue().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN)) {<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>            throw new IOException("Illegal parameter (" + e.getKey()<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>                    + ") value = " + e.getValue());<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>          }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>          if (kvString.length() != 0) {<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>            kvString.append(',');<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>          }<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>          kvString.append(e.getKey());<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>          kvString.append('=');<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>          kvString.append(e.getValue());<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>        }<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>      }<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>      String value = ((jarFilePath == null) ? "" : jarFilePath.toString())<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>              + "|" + className + "|" + Integer.toString(priority) + "|"<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>              + kvString.toString();<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      return addCoprocessorToMap(value);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>    }<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span><a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>    /**<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>     * loadable or not will be determined when a region is opened.<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>     *<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>     * @throws IOException<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>     * @return the modifyable TD<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>     */<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>    public ModifyableTableDescriptor addCoprocessorWithSpec(final String specStr) throws IOException {<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>      String className = getCoprocessorClassNameFromSpecStr(specStr);<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>      if (className == null) {<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>        throw new IllegalArgumentException("Format does not match "<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>                + HConstants.CP_HTD_ATTR_VALUE_PATTERN + ": " + specStr);<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>      }<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>      checkHasCoprocessor(className);<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>      return addCoprocessorToMap(specStr);<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>    }<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span><a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>    private void checkHasCoprocessor(final String className) throws IOException {<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>      if (hasCoprocessor(className)) {<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>        throw new IOException("Coprocessor " + className + " already exists.");<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>      }<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>    }<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span><a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>    /**<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>     * Add coprocessor to values Map<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>     *<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span>     * @return Returns &lt;code&gt;this&lt;/code&gt;<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>     */<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>    private ModifyableTableDescriptor addCoprocessorToMap(final String specStr) {<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>      if (specStr == null) {<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>        return this;<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>      }<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>      // generate a coprocessor key<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>      int maxCoprocessorNumber = 0;<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>      Matcher keyMatcher;<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>        if (!keyMatcher.matches()) {<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>          continue;<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>        }<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>        maxCoprocessorNumber = Math.max(Integer.parseInt(keyMatcher.group(1)), maxCoprocessorNumber);<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>      }<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span>      maxCoprocessorNumber++;<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>      String key = "coprocessor$" + Integer.toString(maxCoprocessorNumber);<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>      return setValue(new Bytes(Bytes.toBytes(key)), new Bytes(Bytes.toBytes(specStr)));<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>    }<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span><a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>    /**<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>     * Check if the table has an attached co-processor represented by the name<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>     * className<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span>     *<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>     * @param classNameToMatch - Class name of the co-processor<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>     * @return true of the table has a co-processor className<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>     */<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>    @Override<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>    public boolean hasCoprocessor(String classNameToMatch) {<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>      Matcher keyMatcher;<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>              : this.values.entrySet()) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>        keyMatcher<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>                = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>                        Bytes.toString(e.getKey().get()));<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>        if (!keyMatcher.matches()) {<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>          continue;<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>        }<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>        if (className == null) {<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>          continue;<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>        }<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>        if (className.equals(classNameToMatch.trim())) {<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>          return true;<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>        }<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>      }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>      return false;<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>    }<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span><a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>    /**<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>     * Return the list of attached co-processor represented by their name<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>     * className<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>     *<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>     * @return The list of co-processors classNames<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>     */<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    @Override<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>    public List&lt;String&gt; getCoprocessors() {<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>      List&lt;String&gt; result = new ArrayList&lt;&gt;(this.values.entrySet().size());<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>      Matcher keyMatcher;<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>        if (!keyMatcher.matches()) {<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>          continue;<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>        }<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>        if (className == null) {<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>          continue;<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>        }<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>        result.add(className); // classname is the 2nd field<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>      }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>      return result;<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>    }<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span><a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>    /**<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>     * @param spec String formatted as per<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>     * {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>     * @return Class parsed from passed in &lt;code&gt;spec&lt;/code&gt; or null if no match<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>     * or classpath found<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>     */<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>    private static String getCoprocessorClassNameFromSpecStr(final String spec) {<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>      Matcher matcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(spec);<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>      // Classname is the 2nd field<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>      return matcher != null &amp;&amp; matcher.matches() ? matcher.group(2).trim() : null;<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>    }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span><a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>    /**<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>     * Remove a coprocessor from those set on the table<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>     *<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>     * @param className Class name of the co-processor<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>     */<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>    public void removeCoprocessor(String className) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>      Bytes match = null;<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      Matcher keyMatcher;<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>      Matcher valueMatcher;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>              .entrySet()) {<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>                .getKey().get()));<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>        if (!keyMatcher.matches()) {<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>          continue;<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>        }<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>        valueMatcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(Bytes<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>                .toString(e.getValue().get()));<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>        if (!valueMatcher.matches()) {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>          continue;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>        }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>        // get className and compare<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>        String clazz = valueMatcher.group(2).trim(); // classname is the 2nd field<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>        // remove the CP if it is present<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>        if (clazz.equals(className.trim())) {<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>          match = e.getKey();<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>          break;<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>        }<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>      }<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>      // if we found a match, remove it<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      if (match != null) {<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>        ModifyableTableDescriptor.this.removeValue(match);<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>      }<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    }<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span><a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    @Deprecated<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>    public ModifyableTableDescriptor setOwner(User owner) {<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>      return setOwnerString(owner != null ? owner.getShortName() : null);<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>    }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    // used by admin.rb:alter(table_name,*args) to update owner.<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>    @Deprecated<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>    public ModifyableTableDescriptor setOwnerString(String ownerString) {<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>      return setValue(OWNER_KEY, ownerString);<a name="line.1377"></a>
 <span class="sourceLineNo">1378</span>    }<a name="line.1378"></a>
 <span class="sourceLineNo">1379</span><a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>    /**<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>     * @return the bytes in pb format<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>     */<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>    private byte[] toByteArray() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>      return ProtobufUtil.prependPBMagic(ProtobufUtil.toTableSchema(this).toByteArray());<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>    }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>    /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>     * @param bytes A pb serialized {@link ModifyableTableDescriptor} instance<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>     * with pb magic prefix<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>     * @return An instance of {@link ModifyableTableDescriptor} made from<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>     * &lt;code&gt;bytes&lt;/code&gt;<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>     * @throws DeserializationException<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>     * @see #toByteArray()<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>     */<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>    private static TableDescriptor parseFrom(final byte[] bytes)<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>            throws DeserializationException {<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>      if (!ProtobufUtil.isPBMagicPrefix(bytes)) {<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>        throw new DeserializationException("Expected PB encoded ModifyableTableDescriptor");<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>      }<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>      int pblen = ProtobufUtil.lengthOfPBMagic();<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>      HBaseProtos.TableSchema.Builder builder = HBaseProtos.TableSchema.newBuilder();<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>      try {<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>        ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>        return ProtobufUtil.toTableDescriptor(builder.build());<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>      } catch (IOException e) {<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>        throw new DeserializationException(e);<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>      }<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    }<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span><a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>    @Override<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>    public int getColumnFamilyCount() {<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>      return families.size();<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>    }<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>  }<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span><a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>}<a name="line.1416"></a>
+<span class="sourceLineNo">1380</span>    @Override<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>    @Deprecated<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>    public String getOwnerString() {<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>      // Note that every table should have an owner (i.e. should have OWNER_KEY set).<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      // hbase:meta should return system user as owner, not null (see<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>      // MasterFileSystem.java:bootstrap()).<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>      return getOrDefault(OWNER_KEY, Function.identity(), null);<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>    }<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span><a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>    /**<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>     * @return the bytes in pb format<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>     */<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>    private byte[] toByteArray() {<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span>      return ProtobufUtil.prependPBMagic(ProtobufUtil.toTableSchema(this).toByteArray());<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>    }<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span><a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>    /**<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>     * @param bytes A pb serialized {@link ModifyableTableDescriptor} instance<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>     * with pb magic prefix<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>     * @return An instance of {@link ModifyableTableDescriptor} made from<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>     * &lt;code&gt;bytes&lt;/code&gt;<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>     * @throws DeserializationException<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>     * @see #toByteArray()<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>     */<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>    private static TableDescriptor parseFrom(final byte[] bytes)<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>            throws DeserializationException {<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>      if (!ProtobufUtil.isPBMagicPrefix(bytes)) {<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>        throw new DeserializationException("Expected PB encoded ModifyableTableDescriptor");<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>      }<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>      int pblen = ProtobufUtil.lengthOfPBMagic();<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>      HBaseProtos.TableSchema.Builder builder = HBaseProtos.TableSchema.newBuilder();<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>      try {<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>        ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>        return ProtobufUtil.toTableDescriptor(builder.build());<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>      } catch (IOException e) {<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>        throw new DeserializationException(e);<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>      }<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>    }<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span><a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>    @Override<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>    public int getColumnFamilyCount() {<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>      return families.size();<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>    }<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>  }<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span><a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>}<a name="line.1425"></a>
 
 
 


[05/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html
index 3563b1c..0cc71bf 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html
@@ -1577,387 +1577,386 @@
 <span class="sourceLineNo">1569</span>  }<a name="line.1569"></a>
 <span class="sourceLineNo">1570</span><a name="line.1570"></a>
 <span class="sourceLineNo">1571</span>  public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>      final RegionInfo daughterA, final RegionInfo daughterB)<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>  throws IOException {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>    // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>    // Update its state in regionStates to it shows as offline and split when read<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>    // later figuring what regions are in a table and what are not: see<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>    // regionStates#getRegionsOfTable<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>    node.setState(State.SPLIT);<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>    final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>    nodeA.setState(State.SPLITTING_NEW);<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>    final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>    nodeB.setState(State.SPLITTING_NEW);<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span><a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>    regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>    if (shouldAssignFavoredNodes(parent)) {<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>      List&lt;ServerName&gt; onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>          generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>    }<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>  }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span><a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>  /**<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>   * When called here, the merge has happened. The two merged regions have been<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>   * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>   * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>   * merged regions are removed from hbase:meta below&gt; Later they are deleted from the filesystem<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>   * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>   * longer holds references to the old regions.<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>   */<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>  public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>    node.setState(State.MERGED);<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    regionStates.deleteRegion(mother);<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    regionStates.deleteRegion(father);<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>    regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>    if (shouldAssignFavoredNodes(child)) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>    }<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>  }<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span><a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>  /*<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>   * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>   * belongs to a non-system table.<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>   */<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>  private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>    return this.shouldAssignRegionsWithFavoredNodes &amp;&amp;<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>        FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>  }<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span><a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>  // ============================================================================================<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>  //  Assign Queue (Assign/Balance)<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>  // ============================================================================================<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>  private final ArrayList&lt;RegionStateNode&gt; pendingAssignQueue = new ArrayList&lt;RegionStateNode&gt;();<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span>  private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span><a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>  /**<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   * Add the assign operation to the assignment queue.<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>   * The pending assignment operation will be processed,<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>   * and each region will be assigned by a server using the balancer.<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   */<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    regionNode.getProcedureEvent().suspend();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span><a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>    // TODO: quick-start for meta and the other sys-tables?<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>    assignQueueLock.lock();<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>    try {<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>      pendingAssignQueue.add(regionNode);<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      if (regionNode.isSystemTable() ||<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>          pendingAssignQueue.size() == 1 ||<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>          pendingAssignQueue.size() &gt;= assignDispatchWaitQueueMaxSize) {<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>        assignQueueFullCond.signal();<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>      }<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    } finally {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>      assignQueueLock.unlock();<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>    }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>  }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span><a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>  private void startAssignmentThread() {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>    // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>    // For example, in tests.<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>    String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>        master.getServerName().toShortString();<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>    assignThread = new Thread(name) {<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>      @Override<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>      public void run() {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        while (isRunning()) {<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>          processAssignQueue();<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>        }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>        pendingAssignQueue.clear();<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>      }<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>    };<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>    assignThread.setDaemon(true);<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>    assignThread.start();<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>  }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span><a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>  private void stopAssignmentThread() {<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>    assignQueueSignal();<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>    try {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>      while (assignThread.isAlive()) {<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>        assignQueueSignal();<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>        assignThread.join(250);<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>      }<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>    } catch (InterruptedException e) {<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>      LOG.warn("join interrupted", e);<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>      Thread.currentThread().interrupt();<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>    }<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>  }<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span><a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>  private void assignQueueSignal() {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    assignQueueLock.lock();<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    try {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>      assignQueueFullCond.signal();<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>    } finally {<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>      assignQueueLock.unlock();<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>    }<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>  }<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span><a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>  private HashMap&lt;RegionInfo, RegionStateNode&gt; waitOnAssignQueue() {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>    HashMap&lt;RegionInfo, RegionStateNode&gt; regions = null;<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span><a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>    assignQueueLock.lock();<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>    try {<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>      if (pendingAssignQueue.isEmpty() &amp;&amp; isRunning()) {<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>        assignQueueFullCond.await();<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>      }<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span><a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>      if (!isRunning()) return null;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>      assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>      regions = new HashMap&lt;RegionInfo, RegionStateNode&gt;(pendingAssignQueue.size());<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>      for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>        regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>      }<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>      pendingAssignQueue.clear();<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    } catch (InterruptedException e) {<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>      LOG.warn("got interrupted ", e);<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span>      Thread.currentThread().interrupt();<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>    } finally {<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>      assignQueueLock.unlock();<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>    }<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>    return regions;<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>  }<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span><a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>  private void processAssignQueue() {<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>    final HashMap&lt;RegionInfo, RegionStateNode&gt; regions = waitOnAssignQueue();<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>    if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>      return;<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>    }<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span><a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>    if (LOG.isTraceEnabled()) {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>      LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>    }<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span><a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>    // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>    final HashMap&lt;RegionInfo, ServerName&gt; retainMap = new HashMap&lt;&gt;();<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    final List&lt;RegionInfo&gt; userHRIs = new ArrayList&lt;&gt;(regions.size());<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>    // Regions for system tables requiring reassignment<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    final List&lt;RegionInfo&gt; systemHRIs = new ArrayList&lt;&gt;();<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>    for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>      boolean sysTable = regionStateNode.isSystemTable();<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      final List&lt;RegionInfo&gt; hris = sysTable? systemHRIs: userHRIs;<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>      if (regionStateNode.getRegionLocation() != null) {<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>        retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>      } else {<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>        hris.add(regionStateNode.getRegionInfo());<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>      }<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    }<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span><a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>    // TODO: connect with the listener to invalidate the cache<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span><a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>    // TODO use events<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>    List&lt;ServerName&gt; servers = master.getServerManager().createDestinationServersList();<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    for (int i = 0; servers.size() &lt; 1; ++i) {<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span>      // Report every fourth time around this loop; try not to flood log.<a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>      if (i % 4 == 0) {<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>        LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>      }<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span><a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>      if (!isRunning()) {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>        LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>        return;<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>      }<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>      Threads.sleep(250);<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>      servers = master.getServerManager().createDestinationServersList();<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span>    }<a name="line.1760"></a>
-<span class="sourceLineNo">1761</span><a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>    if (!systemHRIs.isEmpty()) {<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>      // System table regions requiring reassignment are present, get region servers<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      // not available for system table regions<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span>      final List&lt;ServerName&gt; excludeServers = getExcludedServersForSystemTable();<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>      List&lt;ServerName&gt; serversForSysTables = servers.stream()<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>          .filter(s -&gt; !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>      if (serversForSysTables.isEmpty()) {<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>        LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>            "instead considering all candidate servers!");<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>      }<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>          ", allServersCount=" + servers.size());<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>      processAssignmentPlans(regions, null, systemHRIs,<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>          serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    }<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span><a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>  }<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span><a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>  private void processAssignmentPlans(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>      final HashMap&lt;RegionInfo, ServerName&gt; retainMap, final List&lt;RegionInfo&gt; hris,<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>      final List&lt;ServerName&gt; servers) {<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>    boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    if (isTraceEnabled) {<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    }<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span><a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>    final LoadBalancer balancer = getBalancer();<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>    // ask the balancer where to place regions<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span>    if (retainMap != null &amp;&amp; !retainMap.isEmpty()) {<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>      if (isTraceEnabled) {<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>        LOG.trace("retain assign regions=" + retainMap);<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>      }<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>      try {<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>        acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>      } catch (HBaseIOException e) {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>        LOG.warn("unable to retain assignment", e);<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>        addToPendingAssignment(regions, retainMap.keySet());<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>      }<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span>    }<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span><a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>    // TODO: Do we need to split retain and round-robin?<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>    // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>    if (!hris.isEmpty()) {<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>      Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>      if (isTraceEnabled) {<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>        LOG.trace("round robin regions=" + hris);<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span>      }<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>      try {<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>        acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>      } catch (HBaseIOException e) {<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>        LOG.warn("unable to round-robin assignment", e);<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>        addToPendingAssignment(regions, hris);<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      }<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>    }<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>  }<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span><a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>  private void acceptPlan(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>      final Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; plan) throws HBaseIOException {<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>    final ProcedureEvent[] events = new ProcedureEvent[regions.size()];<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>    final long st = System.currentTimeMillis();<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span><a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>    if (plan == null) {<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>      throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>    }<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span><a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>    if (plan.isEmpty()) return;<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span><a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>    int evcount = 0;<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>    for (Map.Entry&lt;ServerName, List&lt;RegionInfo&gt;&gt; entry: plan.entrySet()) {<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>      final ServerName server = entry.getKey();<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>      for (RegionInfo hri: entry.getValue()) {<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>        final RegionStateNode regionNode = regions.get(hri);<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>        regionNode.setRegionLocation(server);<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>        events[evcount++] = regionNode.getProcedureEvent();<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>      }<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>    }<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>    ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span><a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    final long et = System.currentTimeMillis();<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>    if (LOG.isTraceEnabled()) {<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>      LOG.trace("ASSIGN ACCEPT " + events.length + " -&gt; " +<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>          StringUtils.humanTimeDiff(et - st));<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    }<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span><a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>  private void addToPendingAssignment(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>      final Collection&lt;RegionInfo&gt; pendingRegions) {<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>    assignQueueLock.lock();<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>    try {<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>      for (RegionInfo hri: pendingRegions) {<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>        pendingAssignQueue.add(regions.get(hri));<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      }<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    } finally {<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>      assignQueueLock.unlock();<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>    }<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>  }<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span><a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>  /**<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>   * Get a list of servers that this region cannot be assigned to.<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>   * For system tables, we must assign them to a server with highest version.<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>   */<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>  public List&lt;ServerName&gt; getExcludedServersForSystemTable() {<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>    // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>    // RegionServerInfo that includes Version.<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    List&lt;Pair&lt;ServerName, String&gt;&gt; serverList = master.getServerManager().getOnlineServersList()<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>        .stream()<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>        .map((s)-&gt;new Pair&lt;&gt;(s, master.getRegionServerVersion(s)))<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span>        .collect(Collectors.toList());<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>    if (serverList.isEmpty()) {<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span>      return Collections.EMPTY_LIST;<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>    }<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>    String highestVersion = Collections.max(serverList,<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>        (o1, o2) -&gt; VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    return serverList.stream()<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>        .filter((p)-&gt;!p.getSecond().equals(highestVersion))<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>        .map(Pair::getFirst)<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>        .collect(Collectors.toList());<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>  }<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span><a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>  // ============================================================================================<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>  //  Server Helpers<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>  // ============================================================================================<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>  @Override<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>  public void serverAdded(final ServerName serverName) {<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>  }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span><a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>  @Override<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>  public void serverRemoved(final ServerName serverName) {<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>    if (serverNode == null) return;<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span><a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>    // just in case, wake procedures waiting for this server report<a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>    wakeServerReportEvent(serverNode);<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>  }<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span><a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  public int getServerVersion(final ServerName serverName) {<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    final ServerStateNode node = regionStates.getServerNode(serverName);<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>    return node != null ? node.getVersionNumber() : 0;<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>  }<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span><a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  public void killRegionServer(final ServerName serverName) {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>    killRegionServer(serverNode);<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>  }<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span><a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>  public void killRegionServer(final ServerStateNode serverNode) {<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    /** Don't do this. Messes up accounting. Let ServerCrashProcedure do this.<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>    for (RegionStateNode regionNode: serverNode.getRegions()) {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>      regionNode.offline();<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>    }*/<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>    master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>  }<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span><a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>  /**<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>   * Handle RIT of meta region against crashed server.<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>   * Only used when ServerCrashProcedure is not enabled.<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>   * See handleRIT in ServerCrashProcedure for similar function.<a name="line.1920"></a>
-<span class="sourceLineNo">1921</span>   *<a name="line.1921"></a>
-<span class="sourceLineNo">1922</span>   * @param serverName Server that has already crashed<a name="line.1922"></a>
-<span class="sourceLineNo">1923</span>   */<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span>  public void handleMetaRITOnCrashedServer(ServerName serverName) {<a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>    RegionInfo hri = RegionReplicaUtil<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>    if (regionStateNode == null) {<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>      return;<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>    }<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>      return;<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>    } else if (rsnServerName == null) {<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1937"></a>
-<span class="sourceLineNo">1938</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1938"></a>
-<span class="sourceLineNo">1939</span>    }<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    // meta has been assigned to crashed server.<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>    // Handle failure and wake event<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    }<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>  }<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>}<a name="line.1952"></a>
+<span class="sourceLineNo">1572</span>      final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span>    // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>    // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>    // Update its state in regionStates to it shows as offline and split when read<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>    // later figuring what regions are in a table and what are not: see<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>    // regionStates#getRegionsOfTable<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>    node.setState(State.SPLIT);<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>    final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>    nodeA.setState(State.SPLITTING_NEW);<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>    final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>    nodeB.setState(State.SPLITTING_NEW);<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span><a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>    regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>    if (shouldAssignFavoredNodes(parent)) {<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>      List&lt;ServerName&gt; onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>          generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>    }<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>  }<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span><a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>  /**<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>   * When called here, the merge has happened. The two merged regions have been<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>   * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>   * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>   * merged regions are removed from hbase:meta below&gt; Later they are deleted from the filesystem<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>   * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>   * longer holds references to the old regions.<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>   */<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>  public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>      final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>    node.setState(State.MERGED);<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>    regionStates.deleteRegion(mother);<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>    regionStates.deleteRegion(father);<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>    regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>    if (shouldAssignFavoredNodes(child)) {<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>        generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>    }<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>  }<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span><a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>  /*<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>   * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>   * belongs to a non-system table.<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>   */<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>  private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>    return this.shouldAssignRegionsWithFavoredNodes &amp;&amp;<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>        FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>  }<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span><a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>  // ============================================================================================<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>  //  Assign Queue (Assign/Balance)<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span>  // ============================================================================================<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>  private final ArrayList&lt;RegionStateNode&gt; pendingAssignQueue = new ArrayList&lt;RegionStateNode&gt;();<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>  private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>  private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span><a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>  /**<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>   * Add the assign operation to the assignment queue.<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>   * The pending assignment operation will be processed,<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>   * and each region will be assigned by a server using the balancer.<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>   */<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>  protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    regionNode.getProcedureEvent().suspend();<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span><a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>    // TODO: quick-start for meta and the other sys-tables?<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>    assignQueueLock.lock();<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>    try {<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>      pendingAssignQueue.add(regionNode);<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      if (regionNode.isSystemTable() ||<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>          pendingAssignQueue.size() == 1 ||<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>          pendingAssignQueue.size() &gt;= assignDispatchWaitQueueMaxSize) {<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>        assignQueueFullCond.signal();<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>      }<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>    } finally {<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      assignQueueLock.unlock();<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>    }<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>  }<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span><a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>  private void startAssignmentThread() {<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>    // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    // For example, in tests.<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>    String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>        master.getServerName().toShortString();<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>    assignThread = new Thread(name) {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>      @Override<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>      public void run() {<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        while (isRunning()) {<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>          processAssignQueue();<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>        }<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>        pendingAssignQueue.clear();<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span>      }<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>    };<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>    assignThread.setDaemon(true);<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>    assignThread.start();<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>  }<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span><a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>  private void stopAssignmentThread() {<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>    assignQueueSignal();<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>    try {<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>      while (assignThread.isAlive()) {<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>        assignQueueSignal();<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>        assignThread.join(250);<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>      }<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span>    } catch (InterruptedException e) {<a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>      LOG.warn("join interrupted", e);<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>      Thread.currentThread().interrupt();<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>    }<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>  }<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span><a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>  private void assignQueueSignal() {<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>    assignQueueLock.lock();<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>    try {<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>      assignQueueFullCond.signal();<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>    } finally {<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span>      assignQueueLock.unlock();<a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>    }<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>  }<a name="line.1690"></a>
+<span class="sourceLineNo">1691</span><a name="line.1691"></a>
+<span class="sourceLineNo">1692</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1692"></a>
+<span class="sourceLineNo">1693</span>  private HashMap&lt;RegionInfo, RegionStateNode&gt; waitOnAssignQueue() {<a name="line.1693"></a>
+<span class="sourceLineNo">1694</span>    HashMap&lt;RegionInfo, RegionStateNode&gt; regions = null;<a name="line.1694"></a>
+<span class="sourceLineNo">1695</span><a name="line.1695"></a>
+<span class="sourceLineNo">1696</span>    assignQueueLock.lock();<a name="line.1696"></a>
+<span class="sourceLineNo">1697</span>    try {<a name="line.1697"></a>
+<span class="sourceLineNo">1698</span>      if (pendingAssignQueue.isEmpty() &amp;&amp; isRunning()) {<a name="line.1698"></a>
+<span class="sourceLineNo">1699</span>        assignQueueFullCond.await();<a name="line.1699"></a>
+<span class="sourceLineNo">1700</span>      }<a name="line.1700"></a>
+<span class="sourceLineNo">1701</span><a name="line.1701"></a>
+<span class="sourceLineNo">1702</span>      if (!isRunning()) return null;<a name="line.1702"></a>
+<span class="sourceLineNo">1703</span>      assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1703"></a>
+<span class="sourceLineNo">1704</span>      regions = new HashMap&lt;RegionInfo, RegionStateNode&gt;(pendingAssignQueue.size());<a name="line.1704"></a>
+<span class="sourceLineNo">1705</span>      for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1705"></a>
+<span class="sourceLineNo">1706</span>        regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1706"></a>
+<span class="sourceLineNo">1707</span>      }<a name="line.1707"></a>
+<span class="sourceLineNo">1708</span>      pendingAssignQueue.clear();<a name="line.1708"></a>
+<span class="sourceLineNo">1709</span>    } catch (InterruptedException e) {<a name="line.1709"></a>
+<span class="sourceLineNo">1710</span>      LOG.warn("got interrupted ", e);<a name="line.1710"></a>
+<span class="sourceLineNo">1711</span>      Thread.currentThread().interrupt();<a name="line.1711"></a>
+<span class="sourceLineNo">1712</span>    } finally {<a name="line.1712"></a>
+<span class="sourceLineNo">1713</span>      assignQueueLock.unlock();<a name="line.1713"></a>
+<span class="sourceLineNo">1714</span>    }<a name="line.1714"></a>
+<span class="sourceLineNo">1715</span>    return regions;<a name="line.1715"></a>
+<span class="sourceLineNo">1716</span>  }<a name="line.1716"></a>
+<span class="sourceLineNo">1717</span><a name="line.1717"></a>
+<span class="sourceLineNo">1718</span>  private void processAssignQueue() {<a name="line.1718"></a>
+<span class="sourceLineNo">1719</span>    final HashMap&lt;RegionInfo, RegionStateNode&gt; regions = waitOnAssignQueue();<a name="line.1719"></a>
+<span class="sourceLineNo">1720</span>    if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1720"></a>
+<span class="sourceLineNo">1721</span>      return;<a name="line.1721"></a>
+<span class="sourceLineNo">1722</span>    }<a name="line.1722"></a>
+<span class="sourceLineNo">1723</span><a name="line.1723"></a>
+<span class="sourceLineNo">1724</span>    if (LOG.isTraceEnabled()) {<a name="line.1724"></a>
+<span class="sourceLineNo">1725</span>      LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1725"></a>
+<span class="sourceLineNo">1726</span>    }<a name="line.1726"></a>
+<span class="sourceLineNo">1727</span><a name="line.1727"></a>
+<span class="sourceLineNo">1728</span>    // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1728"></a>
+<span class="sourceLineNo">1729</span>    final HashMap&lt;RegionInfo, ServerName&gt; retainMap = new HashMap&lt;&gt;();<a name="line.1729"></a>
+<span class="sourceLineNo">1730</span>    final List&lt;RegionInfo&gt; userHRIs = new ArrayList&lt;&gt;(regions.size());<a name="line.1730"></a>
+<span class="sourceLineNo">1731</span>    // Regions for system tables requiring reassignment<a name="line.1731"></a>
+<span class="sourceLineNo">1732</span>    final List&lt;RegionInfo&gt; systemHRIs = new ArrayList&lt;&gt;();<a name="line.1732"></a>
+<span class="sourceLineNo">1733</span>    for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1733"></a>
+<span class="sourceLineNo">1734</span>      boolean sysTable = regionStateNode.isSystemTable();<a name="line.1734"></a>
+<span class="sourceLineNo">1735</span>      final List&lt;RegionInfo&gt; hris = sysTable? systemHRIs: userHRIs;<a name="line.1735"></a>
+<span class="sourceLineNo">1736</span>      if (regionStateNode.getRegionLocation() != null) {<a name="line.1736"></a>
+<span class="sourceLineNo">1737</span>        retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1737"></a>
+<span class="sourceLineNo">1738</span>      } else {<a name="line.1738"></a>
+<span class="sourceLineNo">1739</span>        hris.add(regionStateNode.getRegionInfo());<a name="line.1739"></a>
+<span class="sourceLineNo">1740</span>      }<a name="line.1740"></a>
+<span class="sourceLineNo">1741</span>    }<a name="line.1741"></a>
+<span class="sourceLineNo">1742</span><a name="line.1742"></a>
+<span class="sourceLineNo">1743</span>    // TODO: connect with the listener to invalidate the cache<a name="line.1743"></a>
+<span class="sourceLineNo">1744</span><a name="line.1744"></a>
+<span class="sourceLineNo">1745</span>    // TODO use events<a name="line.1745"></a>
+<span class="sourceLineNo">1746</span>    List&lt;ServerName&gt; servers = master.getServerManager().createDestinationServersList();<a name="line.1746"></a>
+<span class="sourceLineNo">1747</span>    for (int i = 0; servers.size() &lt; 1; ++i) {<a name="line.1747"></a>
+<span class="sourceLineNo">1748</span>      // Report every fourth time around this loop; try not to flood log.<a name="line.1748"></a>
+<span class="sourceLineNo">1749</span>      if (i % 4 == 0) {<a name="line.1749"></a>
+<span class="sourceLineNo">1750</span>        LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1750"></a>
+<span class="sourceLineNo">1751</span>      }<a name="line.1751"></a>
+<span class="sourceLineNo">1752</span><a name="line.1752"></a>
+<span class="sourceLineNo">1753</span>      if (!isRunning()) {<a name="line.1753"></a>
+<span class="sourceLineNo">1754</span>        LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1754"></a>
+<span class="sourceLineNo">1755</span>        return;<a name="line.1755"></a>
+<span class="sourceLineNo">1756</span>      }<a name="line.1756"></a>
+<span class="sourceLineNo">1757</span>      Threads.sleep(250);<a name="line.1757"></a>
+<span class="sourceLineNo">1758</span>      servers = master.getServerManager().createDestinationServersList();<a name="line.1758"></a>
+<span class="sourceLineNo">1759</span>    }<a name="line.1759"></a>
+<span class="sourceLineNo">1760</span><a name="line.1760"></a>
+<span class="sourceLineNo">1761</span>    if (!systemHRIs.isEmpty()) {<a name="line.1761"></a>
+<span class="sourceLineNo">1762</span>      // System table regions requiring reassignment are present, get region servers<a name="line.1762"></a>
+<span class="sourceLineNo">1763</span>      // not available for system table regions<a name="line.1763"></a>
+<span class="sourceLineNo">1764</span>      final List&lt;ServerName&gt; excludeServers = getExcludedServersForSystemTable();<a name="line.1764"></a>
+<span class="sourceLineNo">1765</span>      List&lt;ServerName&gt; serversForSysTables = servers.stream()<a name="line.1765"></a>
+<span class="sourceLineNo">1766</span>          .filter(s -&gt; !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1766"></a>
+<span class="sourceLineNo">1767</span>      if (serversForSysTables.isEmpty()) {<a name="line.1767"></a>
+<span class="sourceLineNo">1768</span>        LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1768"></a>
+<span class="sourceLineNo">1769</span>            "instead considering all candidate servers!");<a name="line.1769"></a>
+<span class="sourceLineNo">1770</span>      }<a name="line.1770"></a>
+<span class="sourceLineNo">1771</span>      LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1771"></a>
+<span class="sourceLineNo">1772</span>          ", allServersCount=" + servers.size());<a name="line.1772"></a>
+<span class="sourceLineNo">1773</span>      processAssignmentPlans(regions, null, systemHRIs,<a name="line.1773"></a>
+<span class="sourceLineNo">1774</span>          serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1774"></a>
+<span class="sourceLineNo">1775</span>    }<a name="line.1775"></a>
+<span class="sourceLineNo">1776</span><a name="line.1776"></a>
+<span class="sourceLineNo">1777</span>    processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1777"></a>
+<span class="sourceLineNo">1778</span>  }<a name="line.1778"></a>
+<span class="sourceLineNo">1779</span><a name="line.1779"></a>
+<span class="sourceLineNo">1780</span>  private void processAssignmentPlans(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1780"></a>
+<span class="sourceLineNo">1781</span>      final HashMap&lt;RegionInfo, ServerName&gt; retainMap, final List&lt;RegionInfo&gt; hris,<a name="line.1781"></a>
+<span class="sourceLineNo">1782</span>      final List&lt;ServerName&gt; servers) {<a name="line.1782"></a>
+<span class="sourceLineNo">1783</span>    boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1783"></a>
+<span class="sourceLineNo">1784</span>    if (isTraceEnabled) {<a name="line.1784"></a>
+<span class="sourceLineNo">1785</span>      LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1785"></a>
+<span class="sourceLineNo">1786</span>    }<a name="line.1786"></a>
+<span class="sourceLineNo">1787</span><a name="line.1787"></a>
+<span class="sourceLineNo">1788</span>    final LoadBalancer balancer = getBalancer();<a name="line.1788"></a>
+<span class="sourceLineNo">1789</span>    // ask the balancer where to place regions<a name="line.1789"></a>
+<span class="sourceLineNo">1790</span>    if (retainMap != null &amp;&amp; !retainMap.isEmpty()) {<a name="line.1790"></a>
+<span class="sourceLineNo">1791</span>      if (isTraceEnabled) {<a name="line.1791"></a>
+<span class="sourceLineNo">1792</span>        LOG.trace("retain assign regions=" + retainMap);<a name="line.1792"></a>
+<span class="sourceLineNo">1793</span>      }<a name="line.1793"></a>
+<span class="sourceLineNo">1794</span>      try {<a name="line.1794"></a>
+<span class="sourceLineNo">1795</span>        acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1795"></a>
+<span class="sourceLineNo">1796</span>      } catch (HBaseIOException e) {<a name="line.1796"></a>
+<span class="sourceLineNo">1797</span>        LOG.warn("unable to retain assignment", e);<a name="line.1797"></a>
+<span class="sourceLineNo">1798</span>        addToPendingAssignment(regions, retainMap.keySet());<a name="line.1798"></a>
+<span class="sourceLineNo">1799</span>      }<a name="line.1799"></a>
+<span class="sourceLineNo">1800</span>    }<a name="line.1800"></a>
+<span class="sourceLineNo">1801</span><a name="line.1801"></a>
+<span class="sourceLineNo">1802</span>    // TODO: Do we need to split retain and round-robin?<a name="line.1802"></a>
+<span class="sourceLineNo">1803</span>    // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1803"></a>
+<span class="sourceLineNo">1804</span>    if (!hris.isEmpty()) {<a name="line.1804"></a>
+<span class="sourceLineNo">1805</span>      Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1805"></a>
+<span class="sourceLineNo">1806</span>      if (isTraceEnabled) {<a name="line.1806"></a>
+<span class="sourceLineNo">1807</span>        LOG.trace("round robin regions=" + hris);<a name="line.1807"></a>
+<span class="sourceLineNo">1808</span>      }<a name="line.1808"></a>
+<span class="sourceLineNo">1809</span>      try {<a name="line.1809"></a>
+<span class="sourceLineNo">1810</span>        acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1810"></a>
+<span class="sourceLineNo">1811</span>      } catch (HBaseIOException e) {<a name="line.1811"></a>
+<span class="sourceLineNo">1812</span>        LOG.warn("unable to round-robin assignment", e);<a name="line.1812"></a>
+<span class="sourceLineNo">1813</span>        addToPendingAssignment(regions, hris);<a name="line.1813"></a>
+<span class="sourceLineNo">1814</span>      }<a name="line.1814"></a>
+<span class="sourceLineNo">1815</span>    }<a name="line.1815"></a>
+<span class="sourceLineNo">1816</span>  }<a name="line.1816"></a>
+<span class="sourceLineNo">1817</span><a name="line.1817"></a>
+<span class="sourceLineNo">1818</span>  private void acceptPlan(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1818"></a>
+<span class="sourceLineNo">1819</span>      final Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; plan) throws HBaseIOException {<a name="line.1819"></a>
+<span class="sourceLineNo">1820</span>    final ProcedureEvent[] events = new ProcedureEvent[regions.size()];<a name="line.1820"></a>
+<span class="sourceLineNo">1821</span>    final long st = System.currentTimeMillis();<a name="line.1821"></a>
+<span class="sourceLineNo">1822</span><a name="line.1822"></a>
+<span class="sourceLineNo">1823</span>    if (plan == null) {<a name="line.1823"></a>
+<span class="sourceLineNo">1824</span>      throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1824"></a>
+<span class="sourceLineNo">1825</span>    }<a name="line.1825"></a>
+<span class="sourceLineNo">1826</span><a name="line.1826"></a>
+<span class="sourceLineNo">1827</span>    if (plan.isEmpty()) return;<a name="line.1827"></a>
+<span class="sourceLineNo">1828</span><a name="line.1828"></a>
+<span class="sourceLineNo">1829</span>    int evcount = 0;<a name="line.1829"></a>
+<span class="sourceLineNo">1830</span>    for (Map.Entry&lt;ServerName, List&lt;RegionInfo&gt;&gt; entry: plan.entrySet()) {<a name="line.1830"></a>
+<span class="sourceLineNo">1831</span>      final ServerName server = entry.getKey();<a name="line.1831"></a>
+<span class="sourceLineNo">1832</span>      for (RegionInfo hri: entry.getValue()) {<a name="line.1832"></a>
+<span class="sourceLineNo">1833</span>        final RegionStateNode regionNode = regions.get(hri);<a name="line.1833"></a>
+<span class="sourceLineNo">1834</span>        regionNode.setRegionLocation(server);<a name="line.1834"></a>
+<span class="sourceLineNo">1835</span>        events[evcount++] = regionNode.getProcedureEvent();<a name="line.1835"></a>
+<span class="sourceLineNo">1836</span>      }<a name="line.1836"></a>
+<span class="sourceLineNo">1837</span>    }<a name="line.1837"></a>
+<span class="sourceLineNo">1838</span>    ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1838"></a>
+<span class="sourceLineNo">1839</span><a name="line.1839"></a>
+<span class="sourceLineNo">1840</span>    final long et = System.currentTimeMillis();<a name="line.1840"></a>
+<span class="sourceLineNo">1841</span>    if (LOG.isTraceEnabled()) {<a name="line.1841"></a>
+<span class="sourceLineNo">1842</span>      LOG.trace("ASSIGN ACCEPT " + events.length + " -&gt; " +<a name="line.1842"></a>
+<span class="sourceLineNo">1843</span>          StringUtils.humanTimeDiff(et - st));<a name="line.1843"></a>
+<span class="sourceLineNo">1844</span>    }<a name="line.1844"></a>
+<span class="sourceLineNo">1845</span>  }<a name="line.1845"></a>
+<span class="sourceLineNo">1846</span><a name="line.1846"></a>
+<span class="sourceLineNo">1847</span>  private void addToPendingAssignment(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1847"></a>
+<span class="sourceLineNo">1848</span>      final Collection&lt;RegionInfo&gt; pendingRegions) {<a name="line.1848"></a>
+<span class="sourceLineNo">1849</span>    assignQueueLock.lock();<a name="line.1849"></a>
+<span class="sourceLineNo">1850</span>    try {<a name="line.1850"></a>
+<span class="sourceLineNo">1851</span>      for (RegionInfo hri: pendingRegions) {<a name="line.1851"></a>
+<span class="sourceLineNo">1852</span>        pendingAssignQueue.add(regions.get(hri));<a name="line.1852"></a>
+<span class="sourceLineNo">1853</span>      }<a name="line.1853"></a>
+<span class="sourceLineNo">1854</span>    } finally {<a name="line.1854"></a>
+<span class="sourceLineNo">1855</span>      assignQueueLock.unlock();<a name="line.1855"></a>
+<span class="sourceLineNo">1856</span>    }<a name="line.1856"></a>
+<span class="sourceLineNo">1857</span>  }<a name="line.1857"></a>
+<span class="sourceLineNo">1858</span><a name="line.1858"></a>
+<span class="sourceLineNo">1859</span>  /**<a name="line.1859"></a>
+<span class="sourceLineNo">1860</span>   * Get a list of servers that this region cannot be assigned to.<a name="line.1860"></a>
+<span class="sourceLineNo">1861</span>   * For system tables, we must assign them to a server with highest version.<a name="line.1861"></a>
+<span class="sourceLineNo">1862</span>   */<a name="line.1862"></a>
+<span class="sourceLineNo">1863</span>  public List&lt;ServerName&gt; getExcludedServersForSystemTable() {<a name="line.1863"></a>
+<span class="sourceLineNo">1864</span>    // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1864"></a>
+<span class="sourceLineNo">1865</span>    // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1865"></a>
+<span class="sourceLineNo">1866</span>    // RegionServerInfo that includes Version.<a name="line.1866"></a>
+<span class="sourceLineNo">1867</span>    List&lt;Pair&lt;ServerName, String&gt;&gt; serverList = master.getServerManager().getOnlineServersList()<a name="line.1867"></a>
+<span class="sourceLineNo">1868</span>        .stream()<a name="line.1868"></a>
+<span class="sourceLineNo">1869</span>        .map((s)-&gt;new Pair&lt;&gt;(s, master.getRegionServerVersion(s)))<a name="line.1869"></a>
+<span class="sourceLineNo">1870</span>        .collect(Collectors.toList());<a name="line.1870"></a>
+<span class="sourceLineNo">1871</span>    if (serverList.isEmpty()) {<a name="line.1871"></a>
+<span class="sourceLineNo">1872</span>      return Collections.EMPTY_LIST;<a name="line.1872"></a>
+<span class="sourceLineNo">1873</span>    }<a name="line.1873"></a>
+<span class="sourceLineNo">1874</span>    String highestVersion = Collections.max(serverList,<a name="line.1874"></a>
+<span class="sourceLineNo">1875</span>        (o1, o2) -&gt; VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1875"></a>
+<span class="sourceLineNo">1876</span>    return serverList.stream()<a name="line.1876"></a>
+<span class="sourceLineNo">1877</span>        .filter((p)-&gt;!p.getSecond().equals(highestVersion))<a name="line.1877"></a>
+<span class="sourceLineNo">1878</span>        .map(Pair::getFirst)<a name="line.1878"></a>
+<span class="sourceLineNo">1879</span>        .collect(Collectors.toList());<a name="line.1879"></a>
+<span class="sourceLineNo">1880</span>  }<a name="line.1880"></a>
+<span class="sourceLineNo">1881</span><a name="line.1881"></a>
+<span class="sourceLineNo">1882</span>  // ============================================================================================<a name="line.1882"></a>
+<span class="sourceLineNo">1883</span>  //  Server Helpers<a name="line.1883"></a>
+<span class="sourceLineNo">1884</span>  // ============================================================================================<a name="line.1884"></a>
+<span class="sourceLineNo">1885</span>  @Override<a name="line.1885"></a>
+<span class="sourceLineNo">1886</span>  public void serverAdded(final ServerName serverName) {<a name="line.1886"></a>
+<span class="sourceLineNo">1887</span>  }<a name="line.1887"></a>
+<span class="sourceLineNo">1888</span><a name="line.1888"></a>
+<span class="sourceLineNo">1889</span>  @Override<a name="line.1889"></a>
+<span class="sourceLineNo">1890</span>  public void serverRemoved(final ServerName serverName) {<a name="line.1890"></a>
+<span class="sourceLineNo">1891</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1891"></a>
+<span class="sourceLineNo">1892</span>    if (serverNode == null) return;<a name="line.1892"></a>
+<span class="sourceLineNo">1893</span><a name="line.1893"></a>
+<span class="sourceLineNo">1894</span>    // just in case, wake procedures waiting for this server report<a name="line.1894"></a>
+<span class="sourceLineNo">1895</span>    wakeServerReportEvent(serverNode);<a name="line.1895"></a>
+<span class="sourceLineNo">1896</span>  }<a name="line.1896"></a>
+<span class="sourceLineNo">1897</span><a name="line.1897"></a>
+<span class="sourceLineNo">1898</span>  public int getServerVersion(final ServerName serverName) {<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>    final ServerStateNode node = regionStates.getServerNode(serverName);<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>    return node != null ? node.getVersionNumber() : 0;<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>  }<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span><a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>  public void killRegionServer(final ServerName serverName) {<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>    killRegionServer(serverNode);<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span><a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>  public void killRegionServer(final ServerStateNode serverNode) {<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>    /** Don't do this. Messes up accounting. Let ServerCrashProcedure do this.<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>    for (RegionStateNode regionNode: serverNode.getRegions()) {<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>      regionNode.offline();<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>    }*/<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>    master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>  }<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span><a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>  /**<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>   * Handle RIT of meta region against crashed server.<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>   * Only used when ServerCrashProcedure is not enabled.<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>   * See handleRIT in ServerCrashProcedure for similar function.<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>   *<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>   * @param serverName Server that has already crashed<a name="line.1921"></a>
+<span class="sourceLineNo">1922</span>   */<a name="line.1922"></a>
+<span class="sourceLineNo">1923</span>  public void handleMetaRITOnCrashedServer(ServerName serverName) {<a name="line.1923"></a>
+<span class="sourceLineNo">1924</span>    RegionInfo hri = RegionReplicaUtil<a name="line.1924"></a>
+<span class="sourceLineNo">1925</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1925"></a>
+<span class="sourceLineNo">1926</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1926"></a>
+<span class="sourceLineNo">1927</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1927"></a>
+<span class="sourceLineNo">1928</span>    if (regionStateNode == null) {<a name="line.1928"></a>
+<span class="sourceLineNo">1929</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1929"></a>
+<span class="sourceLineNo">1930</span>      return;<a name="line.1930"></a>
+<span class="sourceLineNo">1931</span>    }<a name="line.1931"></a>
+<span class="sourceLineNo">1932</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1932"></a>
+<span class="sourceLineNo">1933</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1933"></a>
+<span class="sourceLineNo">1934</span>      return;<a name="line.1934"></a>
+<span class="sourceLineNo">1935</span>    } else if (rsnServerName == null) {<a name="line.1935"></a>
+<span class="sourceLineNo">1936</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1936"></a>
+<span class="sourceLineNo">1937</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1937"></a>
+<span class="sourceLineNo">1938</span>    }<a name="line.1938"></a>
+<span class="sourceLineNo">1939</span>    // meta has been assigned to crashed server.<a name="line.1939"></a>
+<span class="sourceLineNo">1940</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1940"></a>
+<span class="sourceLineNo">1941</span>    // Handle failure and wake event<a name="line.1941"></a>
+<span class="sourceLineNo">1942</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1942"></a>
+<span class="sourceLineNo">1943</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1943"></a>
+<span class="sourceLineNo">1944</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1944"></a>
+<span class="sourceLineNo">1945</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1945"></a>
+<span class="sourceLineNo">1946</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1946"></a>
+<span class="sourceLineNo">1947</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1947"></a>
+<span class="sourceLineNo">1948</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1948"></a>
+<span class="sourceLineNo">1949</span>    }<a name="line.1949"></a>
+<span class="sourceLineNo">1950</span>  }<a name="line.1950"></a>
+<span class="sourceLineNo">1951</span>}<a name="line.1951"></a>
 
 
 


[16/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html
index df5fa53..8fffb89 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectingVisitor.html
@@ -42,1927 +42,2060 @@
 <span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.conf.Configuration;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Get;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Put;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.Result;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.Table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.slf4j.Logger;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.slf4j.LoggerFactory;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * AssignmentManager) we want permanent connection.<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * &lt;/p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * called default replica.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;pre&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * For each table there is single row in column family 'table' formatted:<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * table: state             =&gt; contains table state<a name="line.98"></a>
-<span class="sourceLineNo">099</span> *<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * For each table range, there is a single row, formatted like:<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * This row corresponds to the regionName of the default region replica.<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * Columns are:<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.104"></a>
-<span class="sourceLineNo">105</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *                            the default regionInfo replica<a name="line.106"></a>
-<span class="sourceLineNo">107</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *                                 the regionInfo replica with replicaId<a name="line.108"></a>
-<span class="sourceLineNo">109</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *                            hosting the default regionInfo replica<a name="line.110"></a>
-<span class="sourceLineNo">111</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.111"></a>
-<span class="sourceLineNo">112</span> *                                          the server hosting the regionInfo replica with<a name="line.112"></a>
-<span class="sourceLineNo">113</span> *                                          replicaId<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.114"></a>
-<span class="sourceLineNo">115</span> *                             the server opened the region with default replicaId<a name="line.115"></a>
-<span class="sourceLineNo">116</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.116"></a>
-<span class="sourceLineNo">117</span> *                                           at the time the server opened the region with<a name="line.117"></a>
-<span class="sourceLineNo">118</span> *                                           replicaId<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.119"></a>
-<span class="sourceLineNo">120</span> *                             region is split<a name="line.120"></a>
-<span class="sourceLineNo">121</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.121"></a>
-<span class="sourceLineNo">122</span> *                             region is split<a name="line.122"></a>
-<span class="sourceLineNo">123</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.123"></a>
-<span class="sourceLineNo">124</span> *                             region is the result of a merge<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.125"></a>
-<span class="sourceLineNo">126</span> *                             region is the result of a merge<a name="line.126"></a>
-<span class="sourceLineNo">127</span> * &lt;/pre&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> * &lt;/p&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.130"></a>
-<span class="sourceLineNo">131</span> * leak out of it (through Result objects, etc)<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * &lt;/p&gt;<a name="line.132"></a>
-<span class="sourceLineNo">133</span> */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>@InterfaceAudience.Private<a name="line.134"></a>
-<span class="sourceLineNo">135</span>public class MetaTableAccessor {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.138"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static final byte [] META_REGION_PREFIX;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  static {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    META_REGION_PREFIX = new byte [len];<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      META_REGION_PREFIX, 0, len);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Lists all of the table regions currently in META.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Deprecated, keep there until some test use this.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param connection what we will use<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param tableName table to list<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @return Map of all user-space regions to servers<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        RegionLocations locations = getRegionLocations(result);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (locations == null) return true;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          if (loc != null) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public enum QueryType {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    private final byte[][] families;<a name="line.186"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>    QueryType(byte[]... families) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return this.families;<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><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.198"></a>
+<span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  ////////////////////////<a name="line.206"></a>
+<span class="sourceLineNo">200</span>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param connection connection we're using<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static void fullScanRegions(Connection connection,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      final Visitor visitor)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param connection connection we're using<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      throws IOException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param connection connection we're using<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static void fullScanTables(Connection connection,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      final Visitor visitor)<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param connection connection we're using<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param type scanned part of meta<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return List of {@link Result}<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    scanMeta(connection, null, null, type, v);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param connection connection we're using to access Meta<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public static Table getMetaHTable(final Connection connection)<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (connection == null) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throw new NullPointerException("No connection");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    } else if (connection.isClosed()) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      throw new IOException("connection is closed");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return connection.getTable(TableName.META_TABLE_NAME);<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>   * @param t Table to use (will be closed when done).<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @param g Get to run<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (t == null) return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return t.get(g);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } finally {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      t.close();<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>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Gets the region info and assignment for the specified region.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param connection connection we're using<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param regionName Region to lookup.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Deprecated<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    throws IOException {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return location == null<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      ? null<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param connection connection we're using<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param regionName region we're looking for<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return HRegionLocation for the given region<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    byte[] row = regionName;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    RegionInfo parsedInfo = null;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    } catch (Exception parseEx) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Get get = new Get(row);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    Result r = get(getMetaHTable(connection), get);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    RegionLocations locations = getRegionLocations(r);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return locations == null ? null<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param connection connection we're using<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param regionInfo region information<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return HRegionLocation for the given region<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Get get = new Get(row);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Result r = get(getMetaHTable(connection), get);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * in the regionName.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>              .setStartKey(fields[1])<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              .setEndKey(fields[2])<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              .setSplit(false)<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              .setRegionId(regionId)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              .setReplicaId(replicaId)<a name="line.354"></a>
-<span class="sourceLineNo">355</span>              .build();<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>  /**<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * Gets the result in hbase:meta for the specified region.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param connection connection we're using<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param regionName region we're looking for<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return result of the specified region<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static Result getRegionResult(Connection connection,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      byte[] regionName) throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    Get get = new Get(regionName);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Nullable<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    Result result = getRegionResult(connection, regionName);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * the specified server.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @param connection connection we're using<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param tableName table to check<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @return true if the table exists in meta, false if not<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public static boolean tableExists(Connection connection,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      final TableName tableName)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  throws IOException {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Catalog tables always exist.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param connection to connect with<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @return List of all user-space regions.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @VisibleForTesting<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      boolean excludeOfflinedSplitParents)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        excludeOfflinedSplitParents);<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>    return getListOfRegionInfos(result);<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>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param connection connection we're using<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @param tableName table we're looking for<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param connection connection we're using<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @param tableName table we're looking for<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * parents in the return.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return getListOfRegionInfos(result);<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>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return Collections.emptyList();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      result.add(pair.getFirst());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return result;<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>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param tableName table we're working with<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * @return start row for scanning META according to query type<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (tableName == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return null;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    switch (type) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    case REGION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return startRow;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    case ALL:<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    case TABLE:<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    default:<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      return tableName.getName();<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>  /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param tableName table we're working with<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @return stop row for scanning META according to query type<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (tableName == null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    final byte[] stopRow;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    switch (type) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    case REGION:<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      break;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    case ALL:<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    case TABLE:<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    default:<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      break;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return stopRow;<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>   * This method creates a Scan object that will only scan catalog rows that<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This is a better alternative to just using a start row and scan until<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * name.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * @param tableName bytes of table's name<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @return configured Scan object<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  @Deprecated<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // Start key is just the table name with delimiters<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // Stop key appends the smallest possible char to the table name<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    Scan scan = getMetaScan(connection, -1);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    scan.setStartRow(startKey);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    scan.setStopRow(stopKey);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return scan;<a name="line.532"></a>
-<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>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    Scan scan = new Scan();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int scannerCaching = connection.getConfiguration()<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (rowUpperLimit &gt; 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      scan.setLimit(rowUpperLimit);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    scan.setCaching(scannerCaching);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param connection connection we're using<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * @param tableName table we're looking for<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return Return list of regioninfos and server.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   */<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return getTableRegionsAndLocations(connection, tableName, true);<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param connection connection we're using<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return Return list of regioninfos and server addresses.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @throws IOException<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      Connection connection, @Nullable final TableName tableName,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        + " use MetaTableLocator instead");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        private RegionLocations current = null;<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>        @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        public boolean visit(Result r) throws IOException {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          current = getRegionLocations(r);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            return true;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Else call super and add this Result to the collection.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          return super.visit(r);<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>        @Override<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        void add(Result r) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>          if (current == null) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>            return;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>            if (loc != null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    scanMeta(connection,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        QueryType.REGION, visitor);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return visitor.getResults();<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>  /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param connection connection we're using<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param serverName server whose regions we're interested in<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @return List of user regions installed on this server (does not include<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * catalog regions).<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @throws IOException<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    // servername.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      @Override<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      void add(Result r) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        if (r == null || r.isEmpty()) return;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        RegionLocations locations = getRegionLocations(r);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        if (locations == null) return;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          if (loc != null) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>              hris.put(loc.getRegion(), r);<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>      }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    };<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    return hris;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    throws IOException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Visitor v = new Visitor() {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      @Override<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      public boolean visit(Result r) throws IOException {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        TableState state = getTableState(r);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (state != null) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          LOG.info("Table State: " + state);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        } else {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          RegionLocations locations = getRegionLocations(r);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          if (locations == null) return true;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            if (loc != null) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        }<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Performs a scan of META table for given table starting from<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * given row.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   *<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param connection connection we're using<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param visitor    visitor to call<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableName  table withing we scan<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param row        start scan from this row<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param rowLimit   max number of rows to return<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static void scanMeta(Connection connection,<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      final Visitor visitor, final TableName tableName,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final byte[] row, final int rowLimit)<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      throws IOException {<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    byte[] startRow = null;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    byte[] stopRow = null;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    if (tableName != null) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      startRow =<a name="line.709"></a>
-<span class="sourceLineNo">710</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      if (row != null) {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        RegionInfo closestRi =<a name="line.712"></a>
-<span class="sourceLineNo">713</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        startRow = RegionInfo<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      stopRow =<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<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><a name="line.723"></a>
-<span class="sourceLineNo">724</span>  /**<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * Performs a scan of META table.<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * @param connection connection we're using<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *                 at first row.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stopRow Where to stop the scan. Pass null if want to sca

<TRUNCATED>

[49/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/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 0084b17..46b6013 100644
--- a/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
+++ b/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42,"i25":42,"i26":42,"i27":42,"i28":42,"i29":42,"i30":42,"i31":42,"i32":42,"i33":42,"i34":42,"i35":42,"i36":42,"i37":42,"i38":42,"i39":42,"i40":42,"i41":42,"i42":42,"i43":42,"i44":41,"i45":42,"i46":42,"i47":42,"i48":42,"i49":42,"i50":42,"i51":42,"i52":42,"i53":42,"i54":42,"i55":42,"i56":42,"i57":42,"i58":42,"i59":42,"i60":42,"i61":42,"i62":42,"i63":42,"i64":42,"i65":42,"i66":42,"i67":42,"i68":42,"i69":42,"i70":42,"i71":42,"i72":42,"i73":42};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42,"i25":42,"i26":42,"i27":42,"i28":42,"i29":42,"i30":42,"i31":42,"i32":42,"i33":42,"i34":42,"i35":42,"i36":42,"i37":42,"i38":42,"i39":42,"i40":42,"i41":42,"i42":42,"i43":42,"i44":42,"i45":41,"i46":42,"i47":42,"i48":42,"i49":42,"i50":42,"i51":42,"i52":42,"i53":42,"i54":42,"i55":42,"i56":42,"i57":42,"i58":42,"i59":42,"i60":42,"i61":42,"i62":42,"i63":42,"i64":42,"i65":42,"i66":42,"i67":42,"i68":42,"i69":42,"i70":42,"i71":42,"i72":42,"i73":42,"i74":42};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
  @InterfaceAudience.Public
-public class <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.51">HTableDescriptor</a>
+public class <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.50">HTableDescriptor</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&gt;</pre>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
@@ -641,12 +641,19 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 </tr>
 <tr id="i37" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Return true if there are at least one cf whose replication scope is serial.</div>
+</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isCompactionEnabled--">isCompactionEnabled</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Check if the compaction enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaRegion--">isMetaRegion</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -654,83 +661,83 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  region.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<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/HTableDescriptor.html#isMetaTable--">isMetaTable</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Checks if the table is a <code>hbase:meta</code> table</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isNormalizationEnabled--">isNormalizationEnabled</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Check if normalization enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isReadOnly--">isReadOnly</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Check if the readOnly flag of the table is set.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isRootRegion--">isRootRegion</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">This is vestigial API.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#modifyFamily-org.apache.hadoop.hbase.HColumnDescriptor-">modifyFamily</a></span>(<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Modifies the existing column family.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;bytes)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-byte:A-">remove</a></span>(byte[]&nbsp;key)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-org.apache.hadoop.hbase.util.Bytes-">remove</a></span>(<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;key)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-java.lang.String-">remove</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeConfiguration-java.lang.String-">removeConfiguration</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove a config setting represented by the key from the map</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeCoprocessor-java.lang.String-">removeCoprocessor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove a coprocessor from those set on the table</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeFamily-byte:A-">removeFamily</a></span>(byte[]&nbsp;column)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -738,14 +745,14 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  from the table descriptor</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setCompactionEnabled-boolean-">setCompactionEnabled</a></span>(boolean&nbsp;isEnable)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setting the table compaction enable flag.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setConfiguration-java.lang.String-java.lang.String-">setConfiguration</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
@@ -753,14 +760,14 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <div class="block">Setter for storing a configuration setting in map.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.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;durability)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setFlushPolicyClassName-java.lang.String-">setFlushPolicyClassName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -768,7 +775,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  need to be flushed when flushing a region.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMaxFileSize-long-">setMaxFileSize</a></span>(long&nbsp;maxFileSize)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -776,7 +783,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  split is triggered.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMemStoreFlushSize-long-">setMemStoreFlushSize</a></span>(long&nbsp;memstoreFlushSize)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -784,32 +791,32 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  memstore are flushed to the filesystem.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setNormalizationEnabled-boolean-">setNormalizationEnabled</a></span>(boolean&nbsp;isEnable)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setting the table normalization enable flag.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a></span>(<a href="../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;owner)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setOwnerString-java.lang.String-">setOwnerString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ownerString)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setPriority-int-">setPriority</a></span>(int&nbsp;priority)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setReadOnly-boolean-">setReadOnly</a></span>(boolean&nbsp;readOnly)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -817,7 +824,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  only.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemstoreReplication-boolean-">setRegionMemstoreReplication</a></span>(boolean&nbsp;memstoreReplication)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -826,21 +833,21 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 </div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemStoreReplication-boolean-">setRegionMemStoreReplication</a></span>(boolean&nbsp;memstoreReplication)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Enable or Disable the memstore replication from the primary region to the replicas.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionReplication-int-">setRegionReplication</a></span>(int&nbsp;regionReplication)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the number of replicas per region.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionSplitPolicyClassName-java.lang.String-">setRegionSplitPolicyClassName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -848,7 +855,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  determines when a region split should occur.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-byte:A-byte:A-">setValue</a></span>(byte[]&nbsp;key,
         byte[]&nbsp;value)</code>
@@ -856,14 +863,14 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <div class="block">Setter for storing metadata as a (key, value) pair in map</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-org.apache.hadoop.hbase.util.Bytes-org.apache.hadoop.hbase.util.Bytes-">setValue</a></span>(<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)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-java.lang.String-java.lang.String-">setValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
@@ -871,32 +878,32 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <div class="block">Setter for storing metadata as a (key, value) pair in map</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toHColumnDescriptor-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">toHColumnDescriptor</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;desc)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Return a HColumnDescriptor for user to keep the compatibility as much as possible.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toString--">toString</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toStringCustomizedValues--">toStringCustomizedValues</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toStringTableAttributes--">toStringTableAttributes</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -937,7 +944,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>SPLIT_POLICY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.52">SPLIT_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.51">SPLIT_POLICY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -951,7 +958,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_FILESIZE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.53">MAX_FILESIZE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.52">MAX_FILESIZE</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -965,7 +972,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>OWNER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.54">OWNER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.53">OWNER</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -979,7 +986,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.55">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.54">OWNER_KEY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -989,7 +996,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>READONLY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.56">READONLY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.55">READONLY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1003,7 +1010,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>COMPACTION_ENABLED</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.57">COMPACTION_ENABLED</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.56">COMPACTION_ENABLED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1017,7 +1024,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>MEMSTORE_FLUSHSIZE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.58">MEMSTORE_FLUSHSIZE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.57">MEMSTORE_FLUSHSIZE</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1031,7 +1038,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSH_POLICY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.59">FLUSH_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.58">FLUSH_POLICY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1045,7 +1052,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>IS_ROOT</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.60">IS_ROOT</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.59">IS_ROOT</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1059,7 +1066,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>IS_META</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.61">IS_META</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.60">IS_META</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1073,7 +1080,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DURABILITY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.62">DURABILITY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.61">DURABILITY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1087,7 +1094,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_REPLICATION</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.63">REGION_REPLICATION</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.62">REGION_REPLICATION</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1101,7 +1108,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_MEMSTORE_REPLICATION</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.64">REGION_MEMSTORE_REPLICATION</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.63">REGION_MEMSTORE_REPLICATION</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1115,7 +1122,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>NORMALIZATION_ENABLED</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.65">NORMALIZATION_ENABLED</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.64">NORMALIZATION_ENABLED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1129,7 +1136,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>PRIORITY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.66">PRIORITY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.65">PRIORITY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1143,7 +1150,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.67">DEFAULT_READONLY</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.66">DEFAULT_READONLY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1157,7 +1164,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.68">DEFAULT_COMPACTION_ENABLED</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.67">DEFAULT_COMPACTION_ENABLED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1171,7 +1178,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.69">DEFAULT_NORMALIZATION_ENABLED</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.68">DEFAULT_NORMALIZATION_ENABLED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1185,7 +1192,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.70">DEFAULT_MEMSTORE_FLUSH_SIZE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.69">DEFAULT_MEMSTORE_FLUSH_SIZE</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1199,7 +1206,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.71">DEFAULT_REGION_REPLICATION</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.70">DEFAULT_REGION_REPLICATION</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1213,7 +1220,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.72">DEFAULT_REGION_MEMSTORE_REPLICATION</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.71">DEFAULT_REGION_MEMSTORE_REPLICATION</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1227,7 +1234,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>delegatee</h4>
-<pre>protected final&nbsp;org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.73">delegatee</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.72">delegatee</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1237,7 +1244,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>NAMESPACE_FAMILY_INFO</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.770">NAMESPACE_FAMILY_INFO</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.777">NAMESPACE_FAMILY_INFO</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1251,7 +1258,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.771">NAMESPACE_FAMILY_INFO_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.778">NAMESPACE_FAMILY_INFO_BYTES</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1261,7 +1268,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.772">NAMESPACE_COL_DESC_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.779">NAMESPACE_COL_DESC_BYTES</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1271,7 +1278,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.775">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.782">NAMESPACE_TABLEDESC</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Table descriptor for namespace table</div>
 </li>
@@ -1290,7 +1297,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.80">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.79">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Construct a table descriptor specifying a TableName object</div>
 <dl>
@@ -1307,7 +1314,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.91">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.90">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Construct a table descriptor by cloning the descriptor passed as a parameter.
  <p>
@@ -1325,7 +1332,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.95">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;desc,
+<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.94">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;desc,
                            boolean&nbsp;deepClone)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
@@ -1336,7 +1343,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.100">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.99">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1346,7 +1353,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.113">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.112">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Construct a table descriptor by cloning the descriptor passed as a parameter
@@ -1367,7 +1374,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.117">HTableDescriptor</a>(org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor&nbsp;delegatee)</pre>
+<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.116">HTableDescriptor</a>(org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor&nbsp;delegatee)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1385,7 +1392,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.126">isRootRegion</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.125">isRootRegion</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">This is vestigial API. It will be removed in 3.0.</div>
 <dl>
@@ -1400,7 +1407,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.138">isMetaRegion</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.137">isMetaRegion</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Checks if this table is <code> hbase:meta </code>
  region.</div>
@@ -1419,7 +1426,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.148">isMetaTable</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.147">isMetaTable</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Checks if the table is a <code>hbase:meta</code> table</div>
 <dl>
@@ -1436,7 +1443,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getValues</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/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.156">getValues</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/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.155">getValues</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1452,7 +1459,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.166">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.165">setValue</a>(byte[]&nbsp;key,
                                  byte[]&nbsp;value)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setter for storing metadata as a (key, value) pair in map</div>
@@ -1469,7 +1476,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.177">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.176">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>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
@@ -1480,7 +1487,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.188">setValue</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;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.187">setValue</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setter for storing metadata as a (key, value) pair in map</div>
@@ -1497,7 +1504,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.199">remove</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.198">remove</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 <dl>
@@ -1513,7 +1520,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.209">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.208">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 <dl>
@@ -1529,7 +1536,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.219">remove</a>(byte[]&nbsp;key)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.218">remove</a>(byte[]&nbsp;key)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 <dl>
@@ -1545,7 +1552,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.230">isReadOnly</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.229">isReadOnly</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1563,7 +1570,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.242">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.241">setReadOnly</a>(boolean&nbsp;readOnly)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1581,7 +1588,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.254">isCompactionEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.253">isCompactionEnabled</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1599,7 +1606,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.263">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.262">setCompactionEnabled</a>(boolean&nbsp;isEnable)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setting the table compaction enable flag.</div>
 <dl>
@@ -1614,7 +1621,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.275">isNormalizationEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.274">isNormalizationEnabled</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1632,7 +1639,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.284">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.283">setNormalizationEnabled</a>(boolean&nbsp;isEnable)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setting the table normalization enable flag.</div>
 <dl>
@@ -1647,7 +1654,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.293">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.292">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1662,7 +1669,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.303">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.302">getDurability</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the durability setting for the table.</div>
 <dl>
@@ -1679,7 +1686,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.313">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.312">getTableName</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get the name of the table</div>
 <dl>
@@ -1696,7 +1703,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getNameAsString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.322">getNameAsString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.321">getNameAsString</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get the name of the table as a String</div>
 <dl>
@@ -1711,7 +1718,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.332">setRegionSplitPolicyClassName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;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.331">setRegionSplitPolicyClassName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1728,7 +1735,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionSplitPolicyClassName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.346">getRegionSplitPolicyClassName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.345">getRegionSplitPolicyClassName</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1748,7 +1755,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.360">getMaxFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.359">getMaxFileSize</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1769,7 +1776,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.379">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.378">setMaxFileSize</a>(long&nbsp;maxFileSize)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1794,7 +1801,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.392">getMemStoreFlushSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.391">getMemStoreFlushSize</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the size of the memstore after which a flush to filesystem is triggered.</div>
 <dl>
@@ -1813,7 +1820,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.402">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.401">setMemStoreFlushSize</a>(long&nbsp;memstoreFlushSize)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1829,7 +1836,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.413">setFlushPolicyClassName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;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.412">setFlushPolicyClassName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1846,7 +1853,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushPolicyClassName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.426">getFlushPolicyClassName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.425">getFlushPolicyClassName</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1866,7 +1873,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.435">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.434">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1882,7 +1889,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.445">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.444">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Modifies the existing column family.</div>
 <dl>
@@ -1899,7 +1906,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.455">hasFamily</a>(byte[]&nbsp;familyName)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.454">hasFamily</a>(byte[]&nbsp;familyName)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Checks to see if this table contains the given column family</div>
 <dl>
@@ -1916,7 +1923,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.465">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.464">toString</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -1935,7 +1942,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringCustomizedValues</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.473">toStringCustomizedValues</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.472">toStringCustomizedValues</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1950,7 +1957,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringTableAttributes</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.480">toStringTableAttributes</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.479">toStringTableAttributes</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1964,7 +1971,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.494">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.493">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1985,7 +1992,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.508">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.507">hashCode</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -2001,7 +2008,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.522">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.521">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -2021,7 +2028,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <li class="blockList">
 <h4>getFamilies</h4>
 <pre><a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.534">getFamilies</a>()</pre>
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.533">getFamilies</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilies--"><code>getColumnFamilies()</code></a>.</span></div>
 <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>
@@ -2032,13 +2039,30 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collect
 </dl>
 </li>
 </ul>
+<a name="hasSerialReplicationScope--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li c

<TRUNCATED>

[45/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html b/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html
index 1538cfd..b437410 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html
@@ -240,69 +240,75 @@
 <span class="sourceLineNo">232</span>  boolean hasRegionMemStoreReplication();<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>   * Check if the compaction enable flag of the table is true. If flag is false<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * then no minor/major compactions will be done in real.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   *<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * @return true if table compaction enabled<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  boolean isCompactionEnabled();<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>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   *<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt; region<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  boolean isMetaRegion();<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>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   *<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  boolean isMetaTable();<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>   * Check if normalization enable flag of the table is true. If flag is false<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * then no region normalizer won't attempt to normalize this table.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   *<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @return true if region normalization is enabled for this table<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  boolean isNormalizationEnabled();<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>   * Check if the readOnly flag of the table is set. If the readOnly flag is set<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * then the contents of the table can only be read from but not modified.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   *<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   * @return true if all columns in the table should be read only<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>  boolean isReadOnly();<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>   * Check if the table's cfs' replication scope matched with the replication state<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * @param enabled replication state<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @return true if matched, otherwise false<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  default boolean matchReplicationScope(boolean enabled) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    boolean hasEnabled = false;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    boolean hasDisabled = false;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>    for (ColumnFamilyDescriptor cf : getColumnFamilies()) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      if (cf.getScope() != HConstants.REPLICATION_SCOPE_GLOBAL) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        hasDisabled = true;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      } else {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        hasEnabled = true;<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>    if (hasEnabled &amp;&amp; hasDisabled) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      return false;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (hasEnabled) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      return enabled;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    return !enabled;<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">235</span>   * @return true if there are at least one cf whose replication scope is serial.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  boolean hasSerialReplicationScope();<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>   * Check if the compaction enable flag of the table is true. If flag is false<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * then no minor/major compactions will be done in real.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @return true if table compaction enabled<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  boolean isCompactionEnabled();<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>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   *<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt; region<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   */<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  boolean isMetaRegion();<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>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   *<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  boolean isMetaTable();<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>   * Check if normalization enable flag of the table is true. If flag is false<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * then no region normalizer won't attempt to normalize this table.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   *<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * @return true if region normalization is enabled for this table<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   */<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  boolean isNormalizationEnabled();<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>   * Check if the readOnly flag of the table is set. If the readOnly flag is set<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * then the contents of the table can only be read from but not modified.<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   *<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   * @return true if all columns in the table should be read only<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   */<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  boolean isReadOnly();<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>   * Check if the table's cfs' replication scope matched with the replication state<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param enabled replication state<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @return true if matched, otherwise false<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  default boolean matchReplicationScope(boolean enabled) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    boolean hasEnabled = false;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    boolean hasDisabled = false;<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    for (ColumnFamilyDescriptor cf : getColumnFamilies()) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      if (cf.getScope() != HConstants.REPLICATION_SCOPE_GLOBAL &amp;&amp;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>        cf.getScope() != HConstants.REPLICATION_SCOPE_SERIAL) {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        hasDisabled = true;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      } else {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        hasEnabled = true;<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>    if (hasEnabled &amp;&amp; hasDisabled) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      return false;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    if (hasEnabled) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      return enabled;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    return !enabled;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html b/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
index 05c0542..644bb30 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.html
@@ -1062,366 +1062,375 @@
 <span class="sourceLineNo">1054</span>    }<a name="line.1054"></a>
 <span class="sourceLineNo">1055</span><a name="line.1055"></a>
 <span class="sourceLineNo">1056</span>    /**<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>     * Returns the configured replicas per region<a name="line.1057"></a>
+<span class="sourceLineNo">1057</span>     * Return true if there are at least one cf whose replication scope is serial.<a name="line.1057"></a>
 <span class="sourceLineNo">1058</span>     */<a name="line.1058"></a>
 <span class="sourceLineNo">1059</span>    @Override<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    public int getRegionReplication() {<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      return getOrDefault(REGION_REPLICATION_KEY, Integer::valueOf, DEFAULT_REGION_REPLICATION);<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>     * Sets the number of replicas per region.<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>     *<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>     * @param regionReplication the replication factor per region<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>     * @return the modifyable TD<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>     */<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>    public ModifyableTableDescriptor setRegionReplication(int regionReplication) {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>      return setValue(REGION_REPLICATION_KEY, Integer.toString(regionReplication));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    }<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>     * @return true if the read-replicas memstore replication is enabled.<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>     */<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    @Override<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    public boolean hasRegionMemStoreReplication() {<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      return getOrDefault(REGION_MEMSTORE_REPLICATION_KEY, Boolean::valueOf, DEFAULT_REGION_MEMSTORE_REPLICATION);<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    }<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span><a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>    /**<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>     * Enable or Disable the memstore replication from the primary region to the<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>     * replicas. The replication will be used only for meta operations (e.g.<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>     * flush, compaction, ...)<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>     *<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>     * @param memstoreReplication true if the new data written to the primary<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>     * region should be replicated. false if the secondaries can tollerate to<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>     * have new data only when the primary flushes the memstore.<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>     * @return the modifyable TD<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>     */<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>    public ModifyableTableDescriptor setRegionMemStoreReplication(boolean memstoreReplication) {<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>      setValue(REGION_MEMSTORE_REPLICATION_KEY, Boolean.toString(memstoreReplication));<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>      // If the memstore replication is setup, we do not have to wait for observing a flush event<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>      // from primary before starting to serve reads, because gaps from replication is not applicable<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>      return setValue(REGION_REPLICA_WAIT_FOR_PRIMARY_FLUSH_CONF_KEY,<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>              Boolean.toString(memstoreReplication));<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>    public ModifyableTableDescriptor setPriority(int priority) {<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>      return setValue(PRIORITY_KEY, Integer.toString(priority));<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    }<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span><a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    @Override<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>    public int getPriority() {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>      return getOrDefault(PRIORITY_KEY, Integer::valueOf, DEFAULT_PRIORITY);<a name="line.1106"></a>
+<span class="sourceLineNo">1060</span>    public boolean hasSerialReplicationScope() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>      return families.values().stream()<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>        .anyMatch(column -&gt; column.getScope() == HConstants.REPLICATION_SCOPE_SERIAL);<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>    /**<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>     * Returns the configured replicas per region<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>     */<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>    @Override<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>    public int getRegionReplication() {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>      return getOrDefault(REGION_REPLICATION_KEY, Integer::valueOf, DEFAULT_REGION_REPLICATION);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>    }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>    /**<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>     * Sets the number of replicas per region.<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>     *<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>     * @param regionReplication the replication factor per region<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>     * @return the modifyable TD<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>     */<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    public ModifyableTableDescriptor setRegionReplication(int regionReplication) {<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>      return setValue(REGION_REPLICATION_KEY, Integer.toString(regionReplication));<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>    }<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span><a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>    /**<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>     * @return true if the read-replicas memstore replication is enabled.<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>    public boolean hasRegionMemStoreReplication() {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>      return getOrDefault(REGION_MEMSTORE_REPLICATION_KEY, Boolean::valueOf, DEFAULT_REGION_MEMSTORE_REPLICATION);<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>    }<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span><a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>    /**<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>     * Enable or Disable the memstore replication from the primary region to the<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>     * replicas. The replication will be used only for meta operations (e.g.<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>     * flush, compaction, ...)<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>     *<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>     * @param memstoreReplication true if the new data written to the primary<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>     * region should be replicated. false if the secondaries can tollerate to<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>     * have new data only when the primary flushes the memstore.<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>     * @return the modifyable TD<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>     */<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    public ModifyableTableDescriptor setRegionMemStoreReplication(boolean memstoreReplication) {<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>      setValue(REGION_MEMSTORE_REPLICATION_KEY, Boolean.toString(memstoreReplication));<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      // If the memstore replication is setup, we do not have to wait for observing a flush event<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>      // from primary before starting to serve reads, because gaps from replication is not applicable<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>      return setValue(REGION_REPLICA_WAIT_FOR_PRIMARY_FLUSH_CONF_KEY,<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>              Boolean.toString(memstoreReplication));<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>     * Returns all the column family names of the current table. The map of<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>     * TableDescriptor contains mapping of family name to ColumnFamilyDescriptor.<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>     * This returns all the keys of the family map which represents the column<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>     * family names of the table.<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>     *<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>     * @return Immutable sorted set of the keys of the families.<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>     */<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    @Override<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>    public Set&lt;byte[]&gt; getColumnFamilyNames() {<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>      return Collections.unmodifiableSet(this.families.keySet());<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">1122</span>    /**<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>     * Returns the ColumnFamilyDescriptor for a specific column family with name as<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>     * specified by the parameter column.<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>     *<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>     * @param column Column family name<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>     * passed in column.<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>     */<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>    @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>    public ColumnFamilyDescriptor getColumnFamily(final byte[] column) {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>      return this.families.get(column);<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>    /**<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>     * Removes the ColumnFamilyDescriptor with name specified by the parameter column<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>     * from the table descriptor<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>     *<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>     * @param column Name of the column family to be removed.<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>     * passed in column.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>     */<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>    public ColumnFamilyDescriptor removeColumnFamily(final byte[] column) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>      return this.families.remove(column);<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>    }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    /**<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>     * loadable or not will be determined when a region is opened.<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>     *<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>     * @param className Full class name.<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>     * @throws IOException<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>     * @return the modifyable TD<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>     */<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    public ModifyableTableDescriptor addCoprocessor(String className) throws IOException {<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      return addCoprocessor(className, null, Coprocessor.PRIORITY_USER, null);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>    }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>    /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>     * loadable or not will be determined when a region is opened.<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>     *<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>     * @param jarFilePath Path of the jar file. If it's null, the class will be<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>     * loaded from default classloader.<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>     * @param className Full class name.<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>     * @param priority Priority<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>     * @param kvs Arbitrary key-value parameter pairs passed into the<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>     * coprocessor.<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>     * @throws IOException<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>     * @return the modifyable TD<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>     */<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>    public ModifyableTableDescriptor addCoprocessor(String className, Path jarFilePath,<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>            int priority, final Map&lt;String, String&gt; kvs)<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>            throws IOException {<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>      checkHasCoprocessor(className);<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>      // Validate parameter kvs and then add key/values to kvString.<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>      StringBuilder kvString = new StringBuilder();<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>      if (kvs != null) {<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>        for (Map.Entry&lt;String, String&gt; e : kvs.entrySet()) {<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>          if (!e.getKey().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN)) {<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>            throw new IOException("Illegal parameter key = " + e.getKey());<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>          }<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>          if (!e.getValue().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN)) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>            throw new IOException("Illegal parameter (" + e.getKey()<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>                    + ") value = " + e.getValue());<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>          }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>          if (kvString.length() != 0) {<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>            kvString.append(',');<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>          }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>          kvString.append(e.getKey());<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>          kvString.append('=');<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>          kvString.append(e.getValue());<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>        }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>      }<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span><a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>      String value = ((jarFilePath == null) ? "" : jarFilePath.toString())<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>              + "|" + className + "|" + Integer.toString(priority) + "|"<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>              + kvString.toString();<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>      return addCoprocessorToMap(value);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>    }<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span><a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>    /**<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>     * loadable or not will be determined when a region is opened.<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>     *<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>     * @throws IOException<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>     * @return the modifyable TD<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>     */<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>    public ModifyableTableDescriptor addCoprocessorWithSpec(final String specStr) throws IOException {<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>      String className = getCoprocessorClassNameFromSpecStr(specStr);<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>      if (className == null) {<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>        throw new IllegalArgumentException("Format does not match "<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>                + HConstants.CP_HTD_ATTR_VALUE_PATTERN + ": " + specStr);<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>      }<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>      checkHasCoprocessor(className);<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>      return addCoprocessorToMap(specStr);<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>    }<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>    private void checkHasCoprocessor(final String className) throws IOException {<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>      if (hasCoprocessor(className)) {<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>        throw new IOException("Coprocessor " + className + " already exists.");<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>      }<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>    }<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span><a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>    /**<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>     * Add coprocessor to values Map<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>     *<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>     * @return Returns &lt;code&gt;this&lt;/code&gt;<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>     */<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>    private ModifyableTableDescriptor addCoprocessorToMap(final String specStr) {<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>      if (specStr == null) {<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>        return this;<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>      }<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>      // generate a coprocessor key<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>      int maxCoprocessorNumber = 0;<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span>      Matcher keyMatcher;<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>        if (!keyMatcher.matches()) {<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>          continue;<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>        }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>        maxCoprocessorNumber = Math.max(Integer.parseInt(keyMatcher.group(1)), maxCoprocessorNumber);<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>      }<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>      maxCoprocessorNumber++;<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>      String key = "coprocessor$" + Integer.toString(maxCoprocessorNumber);<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>      return setValue(new Bytes(Bytes.toBytes(key)), new Bytes(Bytes.toBytes(specStr)));<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>    }<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span><a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>    /**<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>     * Check if the table has an attached co-processor represented by the name<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>     * className<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>     *<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>     * @param classNameToMatch - Class name of the co-processor<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>     * @return true of the table has a co-processor className<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>     */<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>    @Override<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>    public boolean hasCoprocessor(String classNameToMatch) {<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>      Matcher keyMatcher;<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>              : this.values.entrySet()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>        keyMatcher<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>                = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>                        Bytes.toString(e.getKey().get()));<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>        if (!keyMatcher.matches()) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>          continue;<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>        }<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>        if (className == null) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>          continue;<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>        }<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>        if (className.equals(classNameToMatch.trim())) {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>          return true;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>        }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>      }<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>      return false;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>    }<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span><a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>    /**<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>     * Return the list of attached co-processor represented by their name<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>     * className<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>     *<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>     * @return The list of co-processors classNames<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>     */<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>    @Override<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>    public List&lt;String&gt; getCoprocessors() {<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>      List&lt;String&gt; result = new ArrayList&lt;&gt;(this.values.entrySet().size());<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>      Matcher keyMatcher;<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>        if (!keyMatcher.matches()) {<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>          continue;<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>        }<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>        if (className == null) {<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>          continue;<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        }<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>        result.add(className); // classname is the 2nd field<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      }<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>      return result;<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>    }<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span><a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    /**<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>     * @param spec String formatted as per<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>     * {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>     * @return Class parsed from passed in &lt;code&gt;spec&lt;/code&gt; or null if no match<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>     * or classpath found<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>     */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>    private static String getCoprocessorClassNameFromSpecStr(final String spec) {<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>      Matcher matcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(spec);<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>      // Classname is the 2nd field<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>      return matcher != null &amp;&amp; matcher.matches() ? matcher.group(2).trim() : null;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>    }<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>    /**<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>     * Remove a coprocessor from those set on the table<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>     *<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>     * @param className Class name of the co-processor<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>     */<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    public void removeCoprocessor(String className) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>      Bytes match = null;<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>      Matcher keyMatcher;<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>      Matcher valueMatcher;<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>              .entrySet()) {<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>                .getKey().get()));<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>        if (!keyMatcher.matches()) {<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>          continue;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>        }<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>        valueMatcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(Bytes<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>                .toString(e.getValue().get()));<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>        if (!valueMatcher.matches()) {<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>          continue;<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>        }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>        // get className and compare<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>        String clazz = valueMatcher.group(2).trim(); // classname is the 2nd field<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>        // remove the CP if it is present<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>        if (clazz.equals(className.trim())) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>          match = e.getKey();<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>          break;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>        }<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>      }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>      // if we found a match, remove it<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>      if (match != null) {<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>        ModifyableTableDescriptor.this.removeValue(match);<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>      }<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>    }<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span><a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>    @Deprecated<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>    public ModifyableTableDescriptor setOwner(User owner) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      return setOwnerString(owner != null ? owner.getShortName() : null);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    }<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>    // used by admin.rb:alter(table_name,*args) to update owner.<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>    @Deprecated<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>    public ModifyableTableDescriptor setOwnerString(String ownerString) {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      return setValue(OWNER_KEY, ownerString);<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>    }<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span><a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    @Override<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>    @Deprecated<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>    public String getOwnerString() {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>      // Note that every table should have an owner (i.e. should have OWNER_KEY set).<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>      // hbase:meta should return system user as owner, not null (see<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>      // MasterFileSystem.java:bootstrap()).<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>      return getOrDefault(OWNER_KEY, Function.identity(), null);<a name="line.1377"></a>
+<span class="sourceLineNo">1109</span>    public ModifyableTableDescriptor setPriority(int priority) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>      return setValue(PRIORITY_KEY, Integer.toString(priority));<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>    }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span><a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    @Override<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>    public int getPriority() {<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>      return getOrDefault(PRIORITY_KEY, Integer::valueOf, DEFAULT_PRIORITY);<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>    }<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">1119</span>     * Returns all the column family names of the current table. The map of<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>     * TableDescriptor contains mapping of family name to ColumnFamilyDescriptor.<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>     * This returns all the keys of the family map which represents the column<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>     * family names of the table.<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>     *<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>     * @return Immutable sorted set of the keys of the families.<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>     */<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>    @Override<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>    public Set&lt;byte[]&gt; getColumnFamilyNames() {<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>      return Collections.unmodifiableSet(this.families.keySet());<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>    }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>    /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>     * Returns the ColumnFamilyDescriptor for a specific column family with name as<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>     * specified by the parameter column.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>     *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>     * @param column Column family name<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>     * passed in column.<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>     */<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>    @Override<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>    public ColumnFamilyDescriptor getColumnFamily(final byte[] column) {<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>      return this.families.get(column);<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>    }<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>    /**<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>     * Removes the ColumnFamilyDescriptor with name specified by the parameter column<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>     * from the table descriptor<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>     *<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>     * @param column Name of the column family to be removed.<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>     * passed in column.<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>     */<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    public ColumnFamilyDescriptor removeColumnFamily(final byte[] column) {<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>      return this.families.remove(column);<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>    }<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>    /**<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>     * loadable or not will be determined when a region is opened.<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>     *<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>     * @param className Full class name.<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>     * @throws IOException<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>     * @return the modifyable TD<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>     */<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>    public ModifyableTableDescriptor addCoprocessor(String className) throws IOException {<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>      return addCoprocessor(className, null, Coprocessor.PRIORITY_USER, null);<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>    }<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span><a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>    /**<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>     * loadable or not will be determined when a region is opened.<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>     *<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>     * @param jarFilePath Path of the jar file. If it's null, the class will be<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>     * loaded from default classloader.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>     * @param className Full class name.<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>     * @param priority Priority<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>     * @param kvs Arbitrary key-value parameter pairs passed into the<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>     * coprocessor.<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>     * @throws IOException<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>     * @return the modifyable TD<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>     */<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>    public ModifyableTableDescriptor addCoprocessor(String className, Path jarFilePath,<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>            int priority, final Map&lt;String, String&gt; kvs)<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>            throws IOException {<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>      checkHasCoprocessor(className);<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span><a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>      // Validate parameter kvs and then add key/values to kvString.<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>      StringBuilder kvString = new StringBuilder();<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>      if (kvs != null) {<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>        for (Map.Entry&lt;String, String&gt; e : kvs.entrySet()) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>          if (!e.getKey().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN)) {<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>            throw new IOException("Illegal parameter key = " + e.getKey());<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>          }<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>          if (!e.getValue().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN)) {<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>            throw new IOException("Illegal parameter (" + e.getKey()<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>                    + ") value = " + e.getValue());<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>          }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>          if (kvString.length() != 0) {<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>            kvString.append(',');<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>          }<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>          kvString.append(e.getKey());<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>          kvString.append('=');<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>          kvString.append(e.getValue());<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>        }<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>      }<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>      String value = ((jarFilePath == null) ? "" : jarFilePath.toString())<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>              + "|" + className + "|" + Integer.toString(priority) + "|"<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>              + kvString.toString();<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      return addCoprocessorToMap(value);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>    }<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span><a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>    /**<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>     * loadable or not will be determined when a region is opened.<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>     *<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>     * @throws IOException<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>     * @return the modifyable TD<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>     */<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>    public ModifyableTableDescriptor addCoprocessorWithSpec(final String specStr) throws IOException {<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>      String className = getCoprocessorClassNameFromSpecStr(specStr);<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>      if (className == null) {<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>        throw new IllegalArgumentException("Format does not match "<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>                + HConstants.CP_HTD_ATTR_VALUE_PATTERN + ": " + specStr);<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>      }<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>      checkHasCoprocessor(className);<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>      return addCoprocessorToMap(specStr);<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>    }<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span><a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>    private void checkHasCoprocessor(final String className) throws IOException {<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>      if (hasCoprocessor(className)) {<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>        throw new IOException("Coprocessor " + className + " already exists.");<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>      }<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>    }<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span><a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>    /**<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>     * Add coprocessor to values Map<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>     *<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span>     * @return Returns &lt;code&gt;this&lt;/code&gt;<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>     */<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>    private ModifyableTableDescriptor addCoprocessorToMap(final String specStr) {<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>      if (specStr == null) {<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>        return this;<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>      }<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>      // generate a coprocessor key<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>      int maxCoprocessorNumber = 0;<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>      Matcher keyMatcher;<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>        if (!keyMatcher.matches()) {<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>          continue;<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>        }<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>        maxCoprocessorNumber = Math.max(Integer.parseInt(keyMatcher.group(1)), maxCoprocessorNumber);<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>      }<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span>      maxCoprocessorNumber++;<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>      String key = "coprocessor$" + Integer.toString(maxCoprocessorNumber);<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>      return setValue(new Bytes(Bytes.toBytes(key)), new Bytes(Bytes.toBytes(specStr)));<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>    }<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span><a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>    /**<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>     * Check if the table has an attached co-processor represented by the name<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>     * className<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span>     *<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>     * @param classNameToMatch - Class name of the co-processor<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>     * @return true of the table has a co-processor className<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>     */<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>    @Override<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>    public boolean hasCoprocessor(String classNameToMatch) {<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>      Matcher keyMatcher;<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>              : this.values.entrySet()) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>        keyMatcher<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>                = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>                        Bytes.toString(e.getKey().get()));<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>        if (!keyMatcher.matches()) {<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>          continue;<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>        }<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>        if (className == null) {<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>          continue;<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>        }<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>        if (className.equals(classNameToMatch.trim())) {<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>          return true;<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>        }<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>      }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>      return false;<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>    }<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span><a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>    /**<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>     * Return the list of attached co-processor represented by their name<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>     * className<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>     *<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>     * @return The list of co-processors classNames<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>     */<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    @Override<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>    public List&lt;String&gt; getCoprocessors() {<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>      List&lt;String&gt; result = new ArrayList&lt;&gt;(this.values.entrySet().size());<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>      Matcher keyMatcher;<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>        if (!keyMatcher.matches()) {<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>          continue;<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>        }<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>        if (className == null) {<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>          continue;<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>        }<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>        result.add(className); // classname is the 2nd field<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>      }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>      return result;<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>    }<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span><a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>    /**<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>     * @param spec String formatted as per<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>     * {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>     * @return Class parsed from passed in &lt;code&gt;spec&lt;/code&gt; or null if no match<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>     * or classpath found<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>     */<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>    private static String getCoprocessorClassNameFromSpecStr(final String spec) {<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>      Matcher matcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(spec);<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>      // Classname is the 2nd field<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>      return matcher != null &amp;&amp; matcher.matches() ? matcher.group(2).trim() : null;<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>    }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span><a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>    /**<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>     * Remove a coprocessor from those set on the table<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>     *<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>     * @param className Class name of the co-processor<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>     */<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>    public void removeCoprocessor(String className) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>      Bytes match = null;<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      Matcher keyMatcher;<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>      Matcher valueMatcher;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>              .entrySet()) {<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>                .getKey().get()));<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>        if (!keyMatcher.matches()) {<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>          continue;<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>        }<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>        valueMatcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(Bytes<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>                .toString(e.getValue().get()));<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>        if (!valueMatcher.matches()) {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>          continue;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>        }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>        // get className and compare<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>        String clazz = valueMatcher.group(2).trim(); // classname is the 2nd field<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>        // remove the CP if it is present<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>        if (clazz.equals(className.trim())) {<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>          match = e.getKey();<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>          break;<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>        }<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>      }<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>      // if we found a match, remove it<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      if (match != null) {<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>        ModifyableTableDescriptor.this.removeValue(match);<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>      }<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    }<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span><a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    @Deprecated<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>    public ModifyableTableDescriptor setOwner(User owner) {<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>      return setOwnerString(owner != null ? owner.getShortName() : null);<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>    }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    // used by admin.rb:alter(table_name,*args) to update owner.<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>    @Deprecated<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>    public ModifyableTableDescriptor setOwnerString(String ownerString) {<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>      return setValue(OWNER_KEY, ownerString);<a name="line.1377"></a>
 <span class="sourceLineNo">1378</span>    }<a name="line.1378"></a>
 <span class="sourceLineNo">1379</span><a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>    /**<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>     * @return the bytes in pb format<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>     */<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>    private byte[] toByteArray() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>      return ProtobufUtil.prependPBMagic(ProtobufUtil.toTableSchema(this).toByteArray());<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>    }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>    /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>     * @param bytes A pb serialized {@link ModifyableTableDescriptor} instance<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>     * with pb magic prefix<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>     * @return An instance of {@link ModifyableTableDescriptor} made from<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>     * &lt;code&gt;bytes&lt;/code&gt;<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>     * @throws DeserializationException<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>     * @see #toByteArray()<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>     */<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>    private static TableDescriptor parseFrom(final byte[] bytes)<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>            throws DeserializationException {<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>      if (!ProtobufUtil.isPBMagicPrefix(bytes)) {<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>        throw new DeserializationException("Expected PB encoded ModifyableTableDescriptor");<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>      }<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>      int pblen = ProtobufUtil.lengthOfPBMagic();<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>      HBaseProtos.TableSchema.Builder builder = HBaseProtos.TableSchema.newBuilder();<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>      try {<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>        ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>        return ProtobufUtil.toTableDescriptor(builder.build());<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>      } catch (IOException e) {<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>        throw new DeserializationException(e);<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>      }<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    }<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span><a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>    @Override<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>    public int getColumnFamilyCount() {<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>      return families.size();<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>    }<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>  }<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span><a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>}<a name="line.1416"></a>
+<span class="sourceLineNo">1380</span>    @Override<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>    @Deprecated<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>    public String getOwnerString() {<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>      // Note that every table should have an owner (i.e. should have OWNER_KEY set).<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      // hbase:meta should return system user as owner, not null (see<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>      // MasterFileSystem.java:bootstrap()).<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>      return getOrDefault(OWNER_KEY, Function.identity(), null);<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>    }<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span><a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>    /**<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>     * @return the bytes in pb format<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>     */<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>    private byte[] toByteArray() {<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span>      return ProtobufUtil.prependPBMagic(ProtobufUtil.toTableSchema(this).toByteArray());<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>    }<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span><a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>    /**<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>     * @param bytes A pb serialized {@link ModifyableTableDescriptor} instance<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>     * with pb magic prefix<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>     * @return An instance of {@link ModifyableTableDescriptor} made from<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>     * &lt;code&gt;bytes&lt;/code&gt;<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>     * @throws DeserializationException<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>     * @see #toByteArray()<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>     */<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>    private static TableDescriptor parseFrom(final byte[] bytes)<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>            throws DeserializationException {<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>      if (!ProtobufUtil.isPBMagicPrefix(bytes)) {<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>        throw new DeserializationException("Expected PB encoded ModifyableTableDescriptor");<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>      }<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>      int pblen = ProtobufUtil.lengthOfPBMagic();<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>      HBaseProtos.TableSchema.Builder builder = HBaseProtos.TableSchema.newBuilder();<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>      try {<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>        ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>        return ProtobufUtil.toTableDescriptor(builder.build());<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>      } catch (IOException e) {<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>        throw new DeserializationException(e);<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>      }<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>    }<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span><a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>    @Override<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>    public int getColumnFamilyCount() {<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>      return families.size();<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>    }<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>  }<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span><a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>}<a name="line.1425"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index aa224fd..00af9c7 100644
--- a/book.html
+++ b/book.html
@@ -37267,7 +37267,7 @@ The server will return cellblocks compressed using this same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-03-04 05:34:13 UTC
+Last updated 2018-03-05 14:29:50 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index d0227f7..b028800 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -299,7 +299,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-03-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-03-05</li>
             </p>
                 </div>
 


[42/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 2194fc8..971bde1 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -1637,7 +1637,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/util/LRUDictionary.html#addEntry-byte:A-int-int-">addEntry(byte[], int, int)</a></span> - Method in class org.apache.hadoop.hbase.io.util.<a href="org/apache/hadoop/hbase/io/util/LRUDictionary.html" title="class in org.apache.hadoop.hbase.io.util">LRUDictionary</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#addEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">addEntry(WAL.Entry)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#addEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">addEntry(WAL.Entry)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/util/LRUDictionary.html#addEntryInternal-byte:A-int-int-boolean-">addEntryInternal(byte[], int, int, boolean)</a></span> - Method in class org.apache.hadoop.hbase.io.util.<a href="org/apache/hadoop/hbase/io/util/LRUDictionary.html" title="class in org.apache.hadoop.hbase.io.util">LRUDictionary</a></dt>
 <dd>&nbsp;</dd>
@@ -2212,6 +2212,10 @@
 <div class="block">Create any replicas for the regions (the default replicas that was already created is passed to
  the method)</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#addReplicationBarrier-org.apache.hadoop.hbase.client.Put-long-">addReplicationBarrier(Put, long)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#addReplicationParent-org.apache.hadoop.hbase.client.Put-java.util.List-">addReplicationParent(Put, List&lt;RegionInfo&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#addReplicationPeer-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">addReplicationPeer(String, ReplicationPeerConfig)</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 new replication peer for replicating data to slave cluster.</div>
@@ -5353,6 +5357,8 @@
 <div class="block">Call back triggered by a individual member upon successful local in-barrier execution and
  release</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#barriers">barriers</a></span> - Variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/types/FixedLengthWrapper.html#base">base</a></span> - Variable in class org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/FixedLengthWrapper.html" title="class in org.apache.hadoop.hbase.types">FixedLengthWrapper</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/util/Base64.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Base64</span></a> - Class in <a href="org/apache/hadoop/hbase/util/package-summary.html">org.apache.hadoop.hbase.util</a></dt>
@@ -8990,6 +8996,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/monitoring/TaskMonitor.html#canPurge-org.apache.hadoop.hbase.monitoring.MonitoredTask-">canPurge(MonitoredTask)</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="org/apache/hadoop/hbase/monitoring/TaskMonitor.html" title="class in org.apache.hadoop.hbase.monitoring">TaskMonitor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPush-org.apache.hadoop.hbase.wal.WAL.Entry-byte:A-">canPush(WAL.Entry, byte[])</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">canPush(WAL.Entry, Cell)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPushUnder">canPushUnder</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/IncrementCoalescer.html#canQueue--">canQueue()</a></span> - Method in class org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/IncrementCoalescer.html" title="class in org.apache.hadoop.hbase.thrift">IncrementCoalescer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.html#canReplicateToSameCluster--">canReplicateToSameCluster()</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.replication">BaseReplicationEndpoint</a></dt>
@@ -11957,6 +11969,8 @@
 <dd>
 <div class="block">Clear a region from replayEditsPerRegion.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALKeyImpl.html#clearReplicationScope--">clearReplicationScope()</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CompactSplit.html#clearShortCompactionsQueue--">clearShortCompactionsQueue()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CompactSplit.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplit</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/AbstractMemStore.html#clearSnapshot-long-">clearSnapshot(long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/AbstractMemStore.html" title="class in org.apache.hadoop.hbase.regionserver">AbstractMemStore</a></dt>
@@ -16438,6 +16452,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.html#conn">conn</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSinkManager</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#conn">conn</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.html#conn">conn</a></span> - Variable in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfoManagerImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/SharedConnection.html#conn">conn</a></span> - Variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/SharedConnection.html" title="class in org.apache.hadoop.hbase">SharedConnection</a></dt>
@@ -34304,6 +34320,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html#getBandwidth--">getBandwidth()</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>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#getBarriers--">getBarriers()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#getBaseConf--">getBaseConf()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
 <dd>
 <div class="block">A split takes the config from the parent region & passes it to the daughter
@@ -38971,7 +38989,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScannerContext.ProgressFields.html#getHeapSize--">getHeapSize()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScannerContext.ProgressFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.ProgressFields</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getHeapSize--">getHeapSize()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getHeapSize--">getHeapSize()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.Node.html#getHeapSizeMB--">getHeapSizeMB()</a></span> - Method in class org.apache.hadoop.hbase.rest.model.<a href="org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.Node.html" title="class in org.apache.hadoop.hbase.rest.model">StorageClusterStatusModel.Node</a></dt>
 <dd>&nbsp;</dd>
@@ -40132,6 +40150,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CompactingMemStore.html#getLastSegment--">getLastSegment()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CompactingMemStore.html" title="class in org.apache.hadoop.hbase.regionserver">CompactingMemStore</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getLastSeqIds--">getLastSeqIds()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLastSequenceId-byte:A-">getLastSequenceId(byte[])</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/LastSequenceId.html#getLastSequenceId-byte:A-">getLastSequenceId(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/LastSequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver">LastSequenceId</a></dt>
@@ -40158,9 +40178,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaState.html#getLastUpdate--">getLastUpdate()</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaState.html" title="class in org.apache.hadoop.hbase.quotas">QuotaState</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getLastWalPath--">getLastWalPath()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getLastWalPath--">getLastWalPath()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getLastWalPosition--">getLastWalPosition()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getLastWalPosition--">getLastWalPosition()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html#getLatch--">getLatch()</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/AbstractPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">AbstractPeerProcedure</a></dt>
 <dd>&nbsp;</dd>
@@ -42635,13 +42655,13 @@
 <div class="block">Ideally, getNameAsString should contain namespace within it,
  but if the namespace is default, it just returns the name.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getNbEntries--">getNbEntries()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getNbEntries--">getNbEntries()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getNbHFiles--">getNbHFiles()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getNbHFiles--">getNbHFiles()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getNbOperations--">getNbOperations()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getNbOperations--">getNbOperations()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getNbRowKeys--">getNbRowKeys()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getNbRowKeys--">getNbRowKeys()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncProcessTask.html#getNeedResults--">getNeedResults()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncProcessTask.html" title="class in org.apache.hadoop.hbase.client">AsyncProcessTask</a></dt>
 <dd>&nbsp;</dd>
@@ -43432,6 +43452,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html#getOpenSeqNum--">getOpenSeqNum()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getOpenSeqNumForParentRegion-org.apache.hadoop.hbase.client.RegionInfo-">getOpenSeqNumForParentRegion(RegionInfo)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/RegionStateStore.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateStore</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationFuture.html#getOperation">getOperation</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationFuture.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin.ReplicationFuture</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ReplicationProcedureBiConsumer.html#getOperation">getOperation</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.ReplicationProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">RawAsyncHBaseAdmin.ReplicationProcedureBiConsumer</a></dt>
@@ -43796,6 +43818,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#getParentRegion--">getParentRegion()</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">SplitTableRegionProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#getParentRegionNames--">getParentRegionNames()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#getParentRegionServerName-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">getParentRegionServerName(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">SplitTableRegionProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.RestoreMetaChanges.html#getParentToChildrenPairMap--">getParentToChildrenPairMap()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.RestoreMetaChanges.html" title="class in org.apache.hadoop.hbase.snapshot">RestoreSnapshotHelper.RestoreMetaChanges</a></dt>
@@ -44822,6 +44846,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/IncrementCoalescerMBean.html#getQueueSize--">getQueueSize()</a></span> - Method in interface org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/IncrementCoalescerMBean.html" title="interface in org.apache.hadoop.hbase.thrift">IncrementCoalescerMBean</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getQueueStorage--">getQueueStorage()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html#getQueuesZNodeCversion--">getQueuesZNodeCversion()</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorage</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/ZKWatcher.html#getQuorum--">getQuorum()</a></span> - Method in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a></dt>
@@ -45325,6 +45351,8 @@
  degree of locality for each region on each of the servers having at least
  one block of that region.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterFileSystem.html#getRegionDir-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir(RegionInfo)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#getRegionDir-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir(MasterProcedureEnv, RegionInfo)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">AbstractStateMachineTableProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#getRegionDir-org.apache.hadoop.fs.Path-java.lang.String-">getRegionDir(Path, String)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
@@ -45341,6 +45369,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#getRegionDir--">getRegionDir()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/FSUtils.html#getRegionDir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir(Path, RegionInfo)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/FSUtils.html" title="class in org.apache.hadoop.hbase.util">FSUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALSplitter.html#getRegionDirRecoveredEditsDir-org.apache.hadoop.fs.Path-">getRegionDirRecoveredEditsDir(Path)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALSplitter.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/FSUtils.html#getRegionDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionDirs(FileSystem, Path)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/FSUtils.html" title="class in org.apache.hadoop.hbase.util">FSUtils</a></dt>
@@ -46306,6 +46336,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.html#getReplicaLocationOrFail-org.apache.hadoop.hbase.client.Action-">getReplicaLocationOrFail(Action)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncRequestFutureImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrier-org.apache.hadoop.hbase.Cell-">getReplicationBarrier(Cell)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrier-org.apache.hadoop.hbase.client.Connection-byte:A-">getReplicationBarrier(Connection, byte[])</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Result-">getReplicationBarrierResult(Result)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-byte:A-byte:A-">getReplicationBarrierResult(Connection, TableName, byte[], byte[])</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarriers-org.apache.hadoop.hbase.client.Result-">getReplicationBarriers(Result)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getReplicationEndpoint--">getReplicationEndpoint()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#getReplicationEndpoint--">getReplicationEndpoint()</a></span> - Method in interface org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a></dt>
@@ -47818,6 +47858,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/UnassignProcedure.html#getServer-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">getServer(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/UnassignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">UnassignProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getServer--">getServer()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift2/ThriftServer.html#getServer-int-int-int-int-int-boolean-boolean-boolean-org.apache.hadoop.hbase.thrift.ThriftMetrics-org.apache.thrift.protocol.TProtocolFactory-org.apache.thrift.TProcessor-org.apache.thrift.transport.TTransportFactory-java.net.InetSocketAddress-">getServer(int, int, int, int, int, boolean, boolean, boolean, ThriftMetrics, TProtocolFactory, TProcessor, TTransportFactory, InetSocketAddress)</a></span> - Method in class org.apache.hadoop.hbase.thrift2.<a href="org/apache/hadoop/hbase/thrift2/ThriftServer.html" title="class in org.apache.hadoop.hbase.thrift2">ThriftServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/AsyncMetaTableAccessor.html#getServerColumn-int-">getServerColumn(int)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/AsyncMetaTableAccessor.html" title="class in org.apache.hadoop.hbase">AsyncMetaTableAccessor</a></dt>
@@ -48998,6 +49040,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html#getState-int-">getState(int)</a></span> - Method in class org.apache.hadoop.hbase.master.replication.<a href="org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#getState--">getState()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/monitoring/MonitoredTask.html#getState--">getState()</a></span> - Method in interface org.apache.hadoop.hbase.monitoring.<a href="org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.html#getState--">getState()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredTaskImpl</a></dt>
@@ -52297,7 +52341,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html#getWalEdit-int-">getWalEdit(int)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getWalEntries--">getWalEntries()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getWalEntries--">getWalEntries()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.html#getWALEntryfilter--">getWALEntryfilter()</a></span> - Method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.replication">BaseReplicationEndpoint</a></dt>
 <dd>
@@ -53138,9 +53182,9 @@
 <dd>
 <div class="block">Callback for handling two regions that have the same start key.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch(ReplicationSourceWALReader.WALEntryBatch, Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSourceWALReader</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch(Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSourceWALReader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch(ReplicationSourceWALReader.WALEntryBatch, Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch(Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#handleEofException-java.io.IOException-">handleEofException(IOException)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></dt>
 <dd>&nbsp;</dd>
@@ -54241,6 +54285,23 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html#hasSelection--">hasSelection()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a></dt>
+<dd>
+<div class="block">Return true if there are at least one cf whose replication scope is serial.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope()</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>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Return true if there are at least one cf whose replication scope is serial.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#hasSerialReplicationScope-org.apache.hadoop.hbase.TableName-">hasSerialReplicationScope(TableName)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/RegionStateStore.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateStore</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#hasSerialReplicationScope-org.apache.hadoop.hbase.client.TableDescriptor-">hasSerialReplicationScope(TableDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/RegionStateStore.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateStore</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALKeyImpl.html#hasSerialReplicationScope--">hasSerialReplicationScope()</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/ZKMainServer.html#hasServer-java.lang.String:A-">hasServer(String[])</a></span> - Static method in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZKMainServer.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKMainServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScannerContext.html#hasSizeLimit-org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope-">hasSizeLimit(ScannerContext.LimitScope)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a></dt>
@@ -55453,7 +55514,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/Segment.html#heapSize--">heapSize()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/Segment.html" title="class in org.apache.hadoop.hbase.regionserver">Segment</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#heapSize">heapSize</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#heapSize">heapSize</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/SizeCachedKeyValue.html#heapSize--">heapSize()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/SizeCachedKeyValue.html" title="class in org.apache.hadoop.hbase">SizeCachedKeyValue</a></dt>
 <dd>&nbsp;</dd>
@@ -57812,7 +57873,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift2/ThriftUtilities.html#incrementFromThrift-org.apache.hadoop.hbase.thrift2.generated.TIncrement-">incrementFromThrift(TIncrement)</a></span> - Static method in class org.apache.hadoop.hbase.thrift2.<a href="org/apache/hadoop/hbase/thrift2/ThriftUtilities.html" title="class in org.apache.hadoop.hbase.thrift2">ThriftUtilities</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#incrementHeapSize-long-">incrementHeapSize(long)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#incrementHeapSize-long-">incrementHeapSize(long)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html#incrementHisto">incrementHisto</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSourceImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -57852,9 +57913,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALSplitter.SinkWriter.html#incrementNanoTime-long-">incrementNanoTime(long)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALSplitter.SinkWriter.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.SinkWriter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#incrementNbHFiles-int-">incrementNbHFiles(int)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#incrementNbHFiles-int-">incrementNbHFiles(int)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#incrementNbRowKeys-int-">incrementNbRowKeys(int)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#incrementNbRowKeys-int-">incrementNbRowKeys(int)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSource.html#incrementNoAuthCount--">incrementNoAuthCount()</a></span> - Method in interface org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSource.html" title="interface in org.apache.hadoop.hbase.zookeeper">MetricsZooKeeperSource</a></dt>
 <dd>
@@ -61399,6 +61460,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/CollectionUtils.html#isLastIndex-java.util.List-int-">isLastIndex(List&lt;?&gt;, int)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/CollectionUtils.html" title="class in org.apache.hadoop.hbase.util">CollectionUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#isLastRangeAndOpening-org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult-int-">isLastRangeAndOpening(MetaTableAccessor.ReplicationBarrierResult, int)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/KeyValue.html#isLatestTimestamp--">isLatestTimestamp()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html#isLegalColumnFamilyName-byte:A-">isLegalColumnFamilyName(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">ColumnFamilyDescriptorBuilder</a></dt>
@@ -62019,6 +62082,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScanInfo.html#isParallelSeekEnabled--">isParallelSeekEnabled()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#isParentFinished-byte:A-">isParentFinished(byte[])</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Result.html#isPartial--">isPartial()</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"><span class="deprecatedLabel">Deprecated.</span>
@@ -62145,6 +62210,8 @@
 <dd>
 <div class="block">Returns a boolean indicating whether the quote was escaped or not</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#isRangeFinished-long-java.lang.String-">isRangeFinished(long, String)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Scan.html#isRaw--">isRaw()</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>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mob/MobUtils.html#isRawMobScan-org.apache.hadoop.hbase.client.Scan-">isRawMobScan(Scan)</a></span> - Static method in class org.apache.hadoop.hbase.mob.<a href="org/apache/hadoop/hbase/mob/MobUtils.html" title="class in org.apache.hadoop.hbase.mob">MobUtils</a></dt>
@@ -62225,6 +62292,10 @@
 <dd>
 <div class="block">Check if a region state can transition to online</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html#isRecovered--">isRecovered()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#isRecovered--">isRecovered()</a></span> - Method in interface org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/CommonFSUtils.html#isRecoveredEdits-org.apache.hadoop.fs.Path-">isRecoveredEdits(Path)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/CommonFSUtils.html" title="class in org.apache.hadoop.hbase.util">CommonFSUtils</a></dt>
 <dd>
 <div class="block">Checks if the given path is the one with 'recovered.edits' dir.</div>
@@ -64495,6 +64566,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html#lastSentTime">lastSentTime</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">SimpleServerRpcConnection</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#lastSeqIds">lastSeqIds</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/regionserver/LastSequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">LastSequenceId</span></a> - Interface in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
 <dd>
 <div class="block">Last flushed sequence Ids for the regions and their stores on region server</div>
@@ -64530,9 +64603,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.html#lastUpdateToPeers">lastUpdateToPeers</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSinkManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSinkManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#lastWalPath">lastWalPath</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#lastWalPath">lastWalPath</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#lastWalPosition">lastWalPosition</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#lastWalPosition">lastWalPosition</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/locking/EntityLock.html#latch">latch</a></span> - Variable in class org.apache.hadoop.hbase.client.locking.<a href="org/apache/hadoop/hbase/client/locking/EntityLock.html" title="class in org.apache.hadoop.hbase.client.locking">EntityLock</a></dt>
 <dd>&nbsp;</dd>
@@ -67222,8 +67295,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/master/ReplicationPeerConfigUpgrader.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.replication.master.<a href="org/apache/hadoop/hbase/replication/master/ReplicationPeerConfigUpgrader.html" title="class in org.apache.hadoop.hbase.replication.master">ReplicationPeerConfigUpgrader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html" title="class in org.apache.hadoop.hbase.replication">NamespaceTableCfWALEntryFilter</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/DefaultSourceFSConfigurationProvider.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/DefaultSourceFSConfigurationProvider.html" title="class in org.apache.hadoop.hbase.replication.regionserver">DefaultSourceFSConfigurationProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/DumpReplicationQueues.html" title="class in org.apache.hadoop.hbase.replication.regionserver">DumpReplicationQueues</a></dt>
@@ -67802,7 +67873,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html#logPerRowCount">logPerRowCount</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html" title="class in org.apache.hadoop.hbase.mapreduce">TableRecordReaderImpl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#logPositionAndCleanOldLogs-org.apache.hadoop.fs.Path-java.lang.String-long-boolean-">logPositionAndCleanOldLogs(Path, String, long, boolean)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#logPositionAndCleanOldLogs-org.apache.hadoop.fs.Path-java.lang.String-long-java.util.Map-boolean-">logPositionAndCleanOldLogs(Path, String, long, Map&lt;String, Long&gt;, boolean)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a></dt>
 <dd>
 <div class="block">This method will log the current position to storage.</div>
 </dd>
@@ -68764,6 +68835,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#makeMasterStub-java.util.concurrent.CompletableFuture-">makeMasterStub(CompletableFuture&lt;MasterProtos.MasterService.Interface&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#makePutForReplicationBarrier-org.apache.hadoop.hbase.client.RegionInfo-long-long-">makePutForReplicationBarrier(RegionInfo, long, long)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.html#makePutFromRegionInfo-org.apache.hadoop.hbase.client.RegionInfo-java.util.List-">makePutFromRegionInfo(RegionInfo, List&lt;ServerName&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.favored.<a href="org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodeAssignmentHelper</a></dt>
 <dd>
 <div class="block">Generates and returns a Put containing the region info for the catalog table and the servers</div>
@@ -70984,7 +71057,7 @@
 <dd>
 <div class="block">Merge regions in a table.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">mergeRegions(Connection, RegionInfo, RegionInfo, RegionInfo, ServerName, int)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.ServerName-int-">mergeRegions(Connection, RegionInfo, RegionInfo, long, RegionInfo, long, ServerName, int)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
 <dd>
 <div class="block">Merge the two regions into one in an atomic operation.</div>
 </dd>
@@ -71311,6 +71384,8 @@
 </dd>
 <dt><a href="org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a> - Enum in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.ReplicationBarrierResult</span></a> - Class in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.TableVisitorBase</span></a> - Class in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>
 <div class="block">A Visitor for a table.</div>
@@ -74588,9 +74663,9 @@
 <div class="block">If a server dies, we're sending the information multiple times in case a receiver misses the
  message.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#nbHFiles">nbHFiles</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#nbHFiles">nbHFiles</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#nbRowKeys">nbRowKeys</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#nbRowKeys">nbRowKeys</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coordination/ZKSplitLogManagerCoordination.html#needAbandonRetries-int-java.lang.String-">needAbandonRetries(int, String)</a></span> - Method in class org.apache.hadoop.hbase.coordination.<a href="org/apache/hadoop/hbase/coordination/ZKSplitLogManagerCoordination.html" title="class in org.apache.hadoop.hbase.coordination">ZKSplitLogManagerCoordination</a></dt>
 <dd>
@@ -75209,7 +75284,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/ReaderBase.html#next-org.apache.hadoop.hbase.wal.WAL.Entry-">next(WAL.Entry)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/ReaderBase.html" title="class in org.apache.hadoop.hbase.regionserver.wal">ReaderBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#next--">next()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Returns the next WAL entry in this stream and advance the stream.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.Scanner.Iter.html#next--">next()</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.Scanner.Iter.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteHTable.Scanner.Iter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.Scanner.html#next-int-">next(int)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.Scanner.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteHTable.Scanner</a></dt>
@@ -78475,6 +78552,8 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/Procedure.html#parentProcId">parentProcId</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#parentRegionNames">parentRegionNames</a></span> - Variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.html#parentsMap">parentsMap</a></span> - Variable in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.html" title="class in org.apache.hadoop.hbase.snapshot">RestoreSnapshotHelper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.RestoreMetaChanges.html#parentsMap">parentsMap</a></span> - Variable in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.RestoreMetaChanges.html" title="class in org.apache.hadoop.hbase.snapshot">RestoreSnapshotHelper.RestoreMetaChanges</a></dt>
@@ -79202,6 +79281,10 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/StoreScanner.html#peek--">peek()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/StoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreScanner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#peek--">peek()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></dt>
+<dd>
+<div class="block">Returns the next WAL entry in this stream but does not advance.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/CallQueue.html#peek--">peek()</a></span> - Method in class org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/CallQueue.html" title="class in org.apache.hadoop.hbase.thrift">CallQueue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/AbstractPositionedByteRange.html#peek--">peek()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/AbstractPositionedByteRange.html" title="class in org.apache.hadoop.hbase.util">AbstractPositionedByteRange</a></dt>
@@ -79270,6 +79353,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#peerId">peerId</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#peerId">peerId</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ReplicationEndpoint.Context.html#peerId">peerId</a></span> - Variable in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationEndpoint.Context.html" title="class in org.apache.hadoop.hbase.replication">ReplicationEndpoint.Context</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ReplicationLoadSource.html#peerID">peerID</a></span> - Variable in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationLoadSource.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource</a></dt>
@@ -83848,6 +83933,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html#pushData-org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.PushType-org.apache.hadoop.hbase.procedure2.util.ByteSlot-long-long:A-">pushData(WALProcedureStore.PushType, ByteSlot, long, long[])</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#pushed">pushed</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CompactionPipeline.html#pushHead-org.apache.hadoop.hbase.regionserver.MutableSegment-">pushHead(MutableSegment)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CompactionPipeline.html" title="class in org.apache.hadoop.hbase.regionserver">CompactionPipeline</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CompactingMemStore.html#pushPipelineToSnapshot--">pushPipelineToSnapshot()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CompactingMemStore.html" title="class in org.apache.hadoop.hbase.regionserver">CompactingMemStore</a></dt>
@@ -86493,6 +86580,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.html#reconnectToPeerCluster--">reconnectToPeerCluster()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/HBaseInterClusterReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.replication.regionserver">HBaseInterClusterReplicationEndpoint</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#recordCanPush-java.lang.String-long-long:A-int-">recordCanPush(String, long, long[], int)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AllowPartialScanResultCache.html#recordLastResult-org.apache.hadoop.hbase.client.Result-">recordLastResult(Result)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AllowPartialScanResultCache.html" title="class in org.apache.hadoop.hbase.client">AllowPartialScanResultCache</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/BatchScanResultCache.html#recordLastResult-org.apache.hadoop.hbase.client.Result-">recordLastResult(Result)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/BatchScanResultCache.html" title="class in org.apache.hadoop.hbase.client">BatchScanResultCache</a></dt>
@@ -87317,6 +87406,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html#regionDict">regionDict</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#regionDir">regionDir</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.RegionDirChecker.html#regionDir">regionDir</a></span> - Variable in class org.apache.hadoop.hbase.util.hbck.<a href="org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.RegionDirChecker.html" title="class in org.apache.hadoop.hbase.util.hbck">HFileCorruptionChecker.RegionDirChecker</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.RegionDirChecker.html#RegionDirChecker-org.apache.hadoop.fs.Path-">RegionDirChecker(Path)</a></span> - Constructor for class org.apache.hadoop.hbase.util.hbck.<a href="org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.RegionDirChecker.html" title="class in org.apache.hadoop.hbase.util.hbck">HFileCorruptionChecker.RegionDirChecker</a></dt>
@@ -90240,6 +90331,14 @@ service.</div>
 <dd>
 <div class="block">Statistics task.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY">REPLICATION_BARRIER_FAMILY</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>
+<div class="block">The replication barrier family</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY_STR">REPLICATION_BARRIER_FAMILY_STR</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>
+<div class="block">The replication barrier family as a string</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.html#REPLICATION_BULKLOAD_COPY_HFILES_PERTHREAD_DEFAULT">REPLICATION_BULKLOAD_COPY_HFILES_PERTHREAD_DEFAULT</a></span> - Static variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.html" title="class in org.apache.hadoop.hbase.replication.regionserver">HFileReplicator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.html#REPLICATION_BULKLOAD_COPY_HFILES_PERTHREAD_KEY">REPLICATION_BULKLOAD_COPY_HFILES_PERTHREAD_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/HFileReplicator.html" title="class in org.apache.hadoop.hbase.replication.regionserver">HFileReplicator</a></dt>
@@ -90273,6 +90372,12 @@ service.</div>
 <dd>
 <div class="block">Drop edits for tables that been deleted from the replication source and target</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#REPLICATION_PARENT_QUALIFIER">REPLICATION_PARENT_QUALIFIER</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#REPLICATION_PARENT_SEPARATOR">REPLICATION_PARENT_SEPARATOR</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#REPLICATION_PARENT_SEPARATOR_REGEX">REPLICATION_PARENT_SEPARATOR_REGEX</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_QOS">REPLICATION_QOS</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/ipc/MetricsHBaseServerSource.html#REPLICATION_QUEUE_DESC">REPLICATION_QUEUE_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.html" title="interface in org.apache.hadoop.hbase.ipc">MetricsHBaseServerSource</a></dt>
@@ -90301,6 +90406,15 @@ service.</div>
 <dd>
 <div class="block">Scope tag for locally scoped data.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_SERIAL">REPLICATION_SCOPE_SERIAL</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>
+<div class="block">Scope tag for serially scoped data
+ This data will be replicated to all peers by the order of sequence id.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#REPLICATION_SERIALLY_WAITING_DEFAULT">REPLICATION_SERIALLY_WAITING_DEFAULT</a></span> - Static variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#REPLICATION_SERIALLY_WAITING_KEY">REPLICATION_SERIALLY_WAITING_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SERVICE_CLASSNAME_DEFAULT">REPLICATION_SERVICE_CLASSNAME_DEFAULT</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#REPLICATION_SINK_SERVICE_CLASSNAME">REPLICATION_SINK_SERVICE_CLASSNAME</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>
@@ -90338,6 +90452,8 @@ service.</div>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Constructor that creates a connection to the local ZooKeeper ensemble.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#ReplicationBarrierResult-long:A-org.apache.hadoop.hbase.master.RegionState.State-java.util.List-">ReplicationBarrierResult(long[], RegionState.State, List&lt;byte[]&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#replicationBatchCountCapacity">replicationBatchCountCapacity</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#replicationBatchSizeCapacity">replicationBatchSizeCapacity</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></dt>
@@ -90670,16 +90786,13 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceWALReader</span></a> - Class in <a href="org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></dt>
 <dd>
-<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches onto a queue</div>
+<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches
+ onto a queue</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#ReplicationSourceWALReader-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.conf.Configurat

<TRUNCATED>

[26/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html
new file mode 100644
index 0000000..b8dc0b1
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html
@@ -0,0 +1,610 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>WALEntryBatch (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="WALEntryBatch (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/WALEntryBatch.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" target="_top">Frames</a></li>
+<li><a href="WALEntryBatch.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.replication.regionserver</div>
+<h2 title="Class WALEntryBatch" class="title">Class WALEntryBatch</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Private
+class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.32">WALEntryBatch</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
+</li>
+</ul>
+</div>
+<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>private long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#heapSize">heapSize</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#lastSeqIds">lastSeqIds</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#lastWalPath">lastWalPath</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#lastWalPosition">lastWalPosition</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#nbHFiles">nbHFiles</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#nbRowKeys">nbRowKeys</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#walEntries">walEntries</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#WALEntryBatch-int-org.apache.hadoop.fs.Path-">WALEntryBatch</a></span>(int&nbsp;maxNbEntries,
+             org.apache.hadoop.fs.Path&nbsp;lastWalPath)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#addEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">addEntry</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getHeapSize--">getHeapSize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getLastSeqIds--">getLastSeqIds</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getLastWalPath--">getLastWalPath</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getLastWalPosition--">getLastWalPosition</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getNbEntries--">getNbEntries</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getNbHFiles--">getNbHFiles</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getNbOperations--">getNbOperations</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getNbRowKeys--">getNbRowKeys</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getWalEntries--">getWalEntries</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#incrementHeapSize-long-">incrementHeapSize</a></span>(long&nbsp;increment)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#incrementNbHFiles-int-">incrementNbHFiles</a></span>(int&nbsp;increment)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#incrementNbRowKeys-int-">incrementNbRowKeys</a></span>(int&nbsp;increment)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#setLastSeqId-java.lang.String-long-">setLastSeqId</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;region,
+            long&nbsp;sequenceId)</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#setLastWalPosition-long-">setLastWalPosition</a></span>(long&nbsp;lastWalPosition)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="walEntries">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>walEntries</h4>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.33">walEntries</a></pre>
+</li>
+</ul>
+<a name="lastWalPath">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lastWalPath</h4>
+<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.35">lastWalPath</a></pre>
+</li>
+</ul>
+<a name="lastWalPosition">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lastWalPosition</h4>
+<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.37">lastWalPosition</a></pre>
+</li>
+</ul>
+<a name="nbRowKeys">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nbRowKeys</h4>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.39">nbRowKeys</a></pre>
+</li>
+</ul>
+<a name="nbHFiles">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nbHFiles</h4>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.41">nbHFiles</a></pre>
+</li>
+</ul>
+<a name="heapSize">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>heapSize</h4>
+<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.43">heapSize</a></pre>
+</li>
+</ul>
+<a name="lastSeqIds">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>lastSeqIds</h4>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.45">lastSeqIds</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="WALEntryBatch-int-org.apache.hadoop.fs.Path-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>WALEntryBatch</h4>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.50">WALEntryBatch</a>(int&nbsp;maxNbEntries,
+              org.apache.hadoop.fs.Path&nbsp;lastWalPath)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lastWalPath</code> - Path of the WAL the last entry in this batch was read from</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addEntry</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.55">addEntry</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
+</li>
+</ul>
+<a name="getWalEntries--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWalEntries</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.62">getWalEntries</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the WAL Entries.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastWalPath--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastWalPath</h4>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.69">getLastWalPath</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the path of the last WAL that was read.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastWalPosition--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastWalPosition</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.76">getLastWalPosition</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the position in the last WAL that was read.</dd>
+</dl>
+</li>
+</ul>
+<a name="setLastWalPosition-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLastWalPosition</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.80">setLastWalPosition</a>(long&nbsp;lastWalPosition)</pre>
+</li>
+</ul>
+<a name="getNbEntries--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNbEntries</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.84">getNbEntries</a>()</pre>
+</li>
+</ul>
+<a name="getNbRowKeys--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNbRowKeys</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.91">getNbRowKeys</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of distinct row keys in this batch</dd>
+</dl>
+</li>
+</ul>
+<a name="getNbHFiles--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNbHFiles</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.98">getNbHFiles</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of HFiles in this batch</dd>
+</dl>
+</li>
+</ul>
+<a name="getNbOperations--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNbOperations</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.105">getNbOperations</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>total number of operations in this batch</dd>
+</dl>
+</li>
+</ul>
+<a name="getHeapSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHeapSize</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.112">getHeapSize</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the heap size of this batch</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastSeqIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastSeqIds</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.119">getLastSeqIds</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the last sequenceid for each region if the table has serial-replication scope</dd>
+</dl>
+</li>
+</ul>
+<a name="incrementNbRowKeys-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementNbRowKeys</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.123">incrementNbRowKeys</a>(int&nbsp;increment)</pre>
+</li>
+</ul>
+<a name="incrementNbHFiles-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementNbHFiles</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.127">incrementNbHFiles</a>(int&nbsp;increment)</pre>
+</li>
+</ul>
+<a name="incrementHeapSize-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>incrementHeapSize</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.131">incrementHeapSize</a>(long&nbsp;increment)</pre>
+</li>
+</ul>
+<a name="setLastSeqId-java.lang.String-long-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setLastSeqId</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#line.135">setLastSeqId</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;region,
+                         long&nbsp;sequenceId)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/WALEntryBatch.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" target="_top">Frames</a></li>
+<li><a href="WALEntryBatch.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html
index 5fe32a0..1f016e1 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -260,7 +260,7 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/rep
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SourceFSConfigurationProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html
index 09fb4c6..95b6cd8 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.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};
+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};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Private
  @InterfaceStability.Evolving
-class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.55">WALEntryStream</a>
+class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.52">WALEntryStream</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
 <div class="block">Streaming access to WAL entries. This class is given a queue of WAL <code>Path</code>, and continually
@@ -274,7 +274,9 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#next--">next</a></span>()</code>
+<div class="block">Returns the next WAL entry in this stream and advance the stream.</div>
+</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
@@ -285,39 +287,45 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#openReader-org.apache.hadoop.fs.Path-">openReader</a></span>(org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#peek--">peek</a></span>()</code>
+<div class="block">Returns the next WAL entry in this stream but does not advance.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#readNextEntryAndSetPosition--">readNextEntryAndSetPosition</a></span>()</code>
 <div class="block">Returns whether the file is opened for writing.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#recoverLease-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path-">recoverLease</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
             org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#reset--">reset</a></span>()</code>
 <div class="block">Should be called if the stream is to be reused (i.e.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#resetReader--">resetReader</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#seek--">seek</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#setCurrentPath-org.apache.hadoop.fs.Path-">setCurrentPath</a></span>(org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#setPosition-long-">setPosition</a></span>(long&nbsp;position)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#tryAdvanceEntry--">tryAdvanceEntry</a></span>()</code>&nbsp;</td>
 </tr>
@@ -349,7 +357,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.56">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.53">LOG</a></pre>
 </li>
 </ul>
 <a name="reader">
@@ -358,7 +366,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>reader</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.58">reader</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.55">reader</a></pre>
 </li>
 </ul>
 <a name="currentPath">
@@ -367,7 +375,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>currentPath</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.59">currentPath</a></pre>
+<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.56">currentPath</a></pre>
 </li>
 </ul>
 <a name="currentEntry">
@@ -376,7 +384,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>currentEntry</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.61">currentEntry</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.58">currentEntry</a></pre>
 </li>
 </ul>
 <a name="currentPosition">
@@ -385,7 +393,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>currentPosition</h4>
-<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.63">currentPosition</a></pre>
+<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.60">currentPosition</a></pre>
 </li>
 </ul>
 <a name="logQueue">
@@ -394,7 +402,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>logQueue</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.64">logQueue</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.61">logQueue</a></pre>
 </li>
 </ul>
 <a name="fs">
@@ -403,7 +411,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>fs</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.65">fs</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.62">fs</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -412,7 +420,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.66">conf</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.63">conf</a></pre>
 </li>
 </ul>
 <a name="walFileLengthProvider">
@@ -421,7 +429,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>walFileLengthProvider</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.67">walFileLengthProvider</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.64">walFileLengthProvider</a></pre>
 </li>
 </ul>
 <a name="serverName">
@@ -430,7 +438,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.69">serverName</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.66">serverName</a></pre>
 </li>
 </ul>
 <a name="metrics">
@@ -439,7 +447,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>metrics</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">MetricsSource</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.70">metrics</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">MetricsSource</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.67">metrics</a></pre>
 </li>
 </ul>
 </li>
@@ -456,7 +464,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALEntryStream</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.82">WALEntryStream</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;logQueue,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.79">WALEntryStream</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;logQueue,
                       org.apache.hadoop.fs.FileSystem&nbsp;fs,
                       org.apache.hadoop.conf.Configuration&nbsp;conf,
                       long&nbsp;startPosition,
@@ -492,7 +500,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>hasNext</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.97">hasNext</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.94">hasNext</a>()
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -502,20 +510,33 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 </dl>
 </li>
 </ul>
+<a name="peek--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peek</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.104">peek</a>()
+               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Returns the next WAL entry in this stream but does not advance.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="next--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.109">next</a>()
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.111">next</a>()
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Returns the next WAL entry in this stream and advance the stream.</div>
 <dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the next WAL entry in this stream</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/NoSuchElementException.html?is-external=true" title="class or interface in java.util">NoSuchElementException</a></code> - if no more entries in the stream.</dd>
 </dl>
 </li>
 </ul>
@@ -525,7 +546,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.122">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.121">close</a>()
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -543,7 +564,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getPosition</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.129">getPosition</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.128">getPosition</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the position of the last Entry returned by next()</dd>
@@ -556,7 +577,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentPath</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.136">getCurrentPath</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.135">getCurrentPath</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the <code>Path</code> of the current WAL</dd>
@@ -569,7 +590,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentPathStat</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.140">getCurrentPathStat</a>()</pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.139">getCurrentPathStat</a>()</pre>
 </li>
 </ul>
 <a name="reset--">
@@ -578,7 +599,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.156">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.155">reset</a>()
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Should be called if the stream is to be reused (i.e. used again after hasNext() has returned
  false)</div>
@@ -594,7 +615,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>setPosition</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.162">setPosition</a>(long&nbsp;position)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.161">setPosition</a>(long&nbsp;position)</pre>
 </li>
 </ul>
 <a name="setCurrentPath-org.apache.hadoop.fs.Path-">
@@ -603,7 +624,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>setCurrentPath</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.166">setCurrentPath</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.165">setCurrentPath</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
 </li>
 </ul>
 <a name="tryAdvanceEntry--">
@@ -612,7 +633,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>tryAdvanceEntry</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.170">tryAdvanceEntry</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.169">tryAdvanceEntry</a>()
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -626,7 +647,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAllBytesParsed</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.198">checkAllBytesParsed</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.197">checkAllBytesParsed</a>()
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -640,7 +661,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>dequeueCurrentLog</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.240">dequeueCurrentLog</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.239">dequeueCurrentLog</a>()
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -654,7 +675,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>readNextEntryAndSetPosition</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.253">readNextEntryAndSetPosition</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.252">readNextEntryAndSetPosition</a>()
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns whether the file is opened for writing.</div>
 <dl>
@@ -669,7 +690,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>closeReader</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.276">closeReader</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.275">closeReader</a>()
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -683,7 +704,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>checkReader</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.284">checkReader</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.283">checkReader</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -697,7 +718,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>openNextLog</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.292">openNextLog</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.291">openNextLog</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -711,7 +732,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>getArchivedLog</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.303">getArchivedLog</a>(org.apache.hadoop.fs.Path&nbsp;path)
+<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.302">getArchivedLog</a>(org.apache.hadoop.fs.Path&nbsp;path)
                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -725,7 +746,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>handleFileNotFound</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.328">handleFileNotFound</a>(org.apache.hadoop.fs.Path&nbsp;path,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.327">handleFileNotFound</a>(org.apache.hadoop.fs.Path&nbsp;path,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/io/FileNotFoundException.html?is-external=true" title="class or interface in java.io">FileNotFoundException</a>&nbsp;fnfe)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -740,7 +761,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>openReader</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.338">openReader</a>(org.apache.hadoop.fs.Path&nbsp;path)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.337">openReader</a>(org.apache.hadoop.fs.Path&nbsp;path)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -754,7 +775,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>recoverLease</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.371">recoverLease</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.370">recoverLease</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                           org.apache.hadoop.fs.Path&nbsp;path)</pre>
 </li>
 </ul>
@@ -764,7 +785,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>resetReader</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.387">resetReader</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.386">resetReader</a>()
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -778,7 +799,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockList">
 <li class="blockList">
 <h4>seek</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.404">seek</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.403">seek</a>()
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -792,7 +813,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>currentTrailerSize</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.410">currentTrailerSize</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#line.409">currentTrailerSize</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSource.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSource.html
index df79701..52e5105 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSource.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSource.html
@@ -148,6 +148,10 @@
 <div class="block">Creates a reader worker for a given WAL queue.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#SerialReplicationChecker-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSource-">SerialReplicationChecker</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                        <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a>&nbsp;source)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.WALEntryBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.WALEntryBatch.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.WALEntryBatch.html
deleted file mode 100644
index 1df5996..0000000
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.WALEntryBatch.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch (Apache HBase 3.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.WALEntryBatch.html" target="_top">Frames</a></li>
-<li><a href="ReplicationSourceWALReader.WALEntryBatch.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch" class="title">Uses of Class<br>org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.replication.regionserver">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a> in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> with type parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></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>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#entryBatchQueue">entryBatchQueue</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">
-<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</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>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#readWALEntries-org.apache.hadoop.hbase.replication.regionserver.WALEntryStream-">readWALEntries</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a>&nbsp;entryStream)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#take--">take</a></span>()</code>
-<div class="block">Retrieves the next batch of WAL entries from the queue, waiting up to the specified time for a
- batch to become available</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/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</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>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
-                        org.apache.hadoop.fs.Path&nbsp;currentPath)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">RecoveredReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
-                        org.apache.hadoop.fs.Path&nbsp;currentPath)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceShipper.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#shipEdits-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-">shipEdits</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;entryBatch)</code>
-<div class="block">Do the shipping logic</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#updateBatchStats-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.hbase.wal.WAL.Entry-long-long-">updateBatchStats</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
-                <a href="../../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
-                long&nbsp;entryPosition,
-                long&nbsp;entrySize)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.WALEntryBatch.html" target="_top">Frames</a></li>
-<li><a href="ReplicationSourceWALReader.WALEntryBatch.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>


[46/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/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 ea5dd32..d19914b 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/HTableDescriptor.html
@@ -33,9 +33,9 @@
 <span class="sourceLineNo">025</span>import java.util.Set;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import java.util.stream.Collectors;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import java.util.stream.Stream;<a name="line.27"></a>
-<span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.fs.Path;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.Path;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.33"></a>
@@ -43,859 +43,866 @@
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.security.User;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * HTableDescriptor contains the details about an HBase table  such as the descriptors of<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * all the column families, is the table a catalog table, &lt;code&gt; hbase:meta &lt;/code&gt;,<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * if the table is read only, the maximum size of the memstore,<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * when the region split should occur, coprocessors associated with it etc...<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *             Use {@link TableDescriptorBuilder} to build {@link HTableDescriptor}.<a name="line.47"></a>
-<span class="sourceLineNo">048</span> */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>@Deprecated<a name="line.49"></a>
-<span class="sourceLineNo">050</span>@InterfaceAudience.Public<a name="line.50"></a>
-<span class="sourceLineNo">051</span>public class HTableDescriptor implements TableDescriptor, Comparable&lt;HTableDescriptor&gt; {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  public static final String SPLIT_POLICY = TableDescriptorBuilder.SPLIT_POLICY;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public static final String MAX_FILESIZE = TableDescriptorBuilder.MAX_FILESIZE;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public static final String OWNER = TableDescriptorBuilder.OWNER;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public static final Bytes OWNER_KEY = TableDescriptorBuilder.OWNER_KEY;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public static final String READONLY = TableDescriptorBuilder.READONLY;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  public static final String COMPACTION_ENABLED = TableDescriptorBuilder.COMPACTION_ENABLED;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static final String MEMSTORE_FLUSHSIZE = TableDescriptorBuilder.MEMSTORE_FLUSHSIZE;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final String FLUSH_POLICY = TableDescriptorBuilder.FLUSH_POLICY;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public static final String IS_ROOT = "IS_ROOT";<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public static final String IS_META = TableDescriptorBuilder.IS_META;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  public static final String DURABILITY = TableDescriptorBuilder.DURABILITY;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public static final String REGION_REPLICATION = TableDescriptorBuilder.REGION_REPLICATION;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static final String REGION_MEMSTORE_REPLICATION = TableDescriptorBuilder.REGION_MEMSTORE_REPLICATION;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final String NORMALIZATION_ENABLED = TableDescriptorBuilder.NORMALIZATION_ENABLED;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public static final String PRIORITY = TableDescriptorBuilder.PRIORITY;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public static final boolean DEFAULT_READONLY = TableDescriptorBuilder.DEFAULT_READONLY;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public static final boolean DEFAULT_COMPACTION_ENABLED = TableDescriptorBuilder.DEFAULT_COMPACTION_ENABLED;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public static final boolean DEFAULT_NORMALIZATION_ENABLED = TableDescriptorBuilder.DEFAULT_NORMALIZATION_ENABLED;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public static final long DEFAULT_MEMSTORE_FLUSH_SIZE = TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public static final int DEFAULT_REGION_REPLICATION = TableDescriptorBuilder.DEFAULT_REGION_REPLICATION;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public static final boolean DEFAULT_REGION_MEMSTORE_REPLICATION = TableDescriptorBuilder.DEFAULT_REGION_MEMSTORE_REPLICATION;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  protected final ModifyableTableDescriptor delegatee;<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>   * Construct a table descriptor specifying a TableName object<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * @param name Table name.<a name="line.77"></a>
-<span class="sourceLineNo">078</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.78"></a>
-<span class="sourceLineNo">079</span>   */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public HTableDescriptor(final TableName name) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    this(new ModifyableTableDescriptor(name));<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>
-<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * Construct a table descriptor by cloning the descriptor passed as a parameter.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * &lt;p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * Makes a deep copy of the supplied descriptor.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * Can make a modifiable descriptor from an ImmutableHTableDescriptor.<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @param desc The descriptor.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public HTableDescriptor(final HTableDescriptor desc) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this(desc, true);<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>  protected HTableDescriptor(final HTableDescriptor desc, boolean deepClone) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    this(deepClone ? new ModifyableTableDescriptor(desc.getTableName(), desc)<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      : desc.delegatee);<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>  public HTableDescriptor(final TableDescriptor desc) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this(new ModifyableTableDescriptor(desc.getTableName(), desc));<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>   * Construct a table descriptor by cloning the descriptor passed as a parameter<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * but using a different table name.<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * &lt;p&gt;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * Makes a deep copy of the supplied descriptor.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * Can make a modifiable descriptor from an ImmutableHTableDescriptor.<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * @param name Table name.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * @param desc The descriptor.<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public HTableDescriptor(final TableName name, final HTableDescriptor desc) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    this(new ModifyableTableDescriptor(name, desc));<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>  protected HTableDescriptor(ModifyableTableDescriptor delegatee) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    this.delegatee = delegatee;<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>   * This is vestigial API. It will be removed in 3.0.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   *<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return always return the false<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public boolean isRootRegion() {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return false;<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>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * region.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   *<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * region<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 boolean isMetaRegion() {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return delegatee.isMetaRegion();<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>  /**<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   *<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public boolean isMetaTable() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    return delegatee.isMetaTable();<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>   * @return Getter for fetching an unmodifiable map.<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 Map&lt;Bytes, Bytes&gt; getValues() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return delegatee.getValues();<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>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * Setter for storing metadata as a (key, value) pair in map<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   *<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @param key The key.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @param value The value. If null, removes the setting.<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public HTableDescriptor setValue(byte[] key, byte[] value) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    getDelegateeForModification().setValue(key, value);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return this;<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>   * Setter for storing metadata as a (key, value) pair in map<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   *<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param key The key.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * @param value The value. If null, removes the setting.<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  public HTableDescriptor setValue(final Bytes key, final Bytes value) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    getDelegateeForModification().setValue(key, value);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    return this;<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>   * Setter for storing metadata as a (key, value) pair in map<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   *<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @param key The key.<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * @param value The value. If null, removes the setting.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  public HTableDescriptor setValue(String key, String value) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    getDelegateeForModification().setValue(Bytes.toBytes(key), Bytes.toBytes(value));<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return this;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * Remove metadata represented by the key from the map<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   *<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * parameters.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public void remove(final String key) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    getDelegateeForModification().removeValue(Bytes.toBytes(key));<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>   * Remove metadata represented by the key from the map<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   *<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * parameters.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  public void remove(Bytes key) {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    getDelegateeForModification().removeValue(key);<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>   * Remove metadata represented by the key from the map<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   *<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * parameters.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  public void remove(final byte [] key) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    getDelegateeForModification().removeValue(key);<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>   * Check if the readOnly flag of the table is set. If the readOnly flag is<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * set then the contents of the table can only be read from but not modified.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   *<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * @return true if all columns in the table should be read only<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public boolean isReadOnly() {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    return delegatee.isReadOnly();<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>   * Setting the table as read only sets all the columns in the table as read<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * only. By default all tables are modifiable, but if the readOnly flag is<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * set to true then the contents of the table can only be read but not modified.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   *<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param readOnly True if all of the columns in the table should be read<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * only.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public HTableDescriptor setReadOnly(final boolean readOnly) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    getDelegateeForModification().setReadOnly(readOnly);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    return this;<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>   * Check if the compaction enable flag of the table is true. If flag is<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * false then no minor/major compactions will be done in real.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   *<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @return true if table compaction enabled<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 boolean isCompactionEnabled() {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    return delegatee.isCompactionEnabled();<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>   * Setting the table compaction enable flag.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   *<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @param isEnable True if enable compaction.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  public HTableDescriptor setCompactionEnabled(final boolean isEnable) {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    getDelegateeForModification().setCompactionEnabled(isEnable);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return this;<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>   * Check if normalization enable flag of the table is true. If flag is<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * false then no region normalizer won't attempt to normalize this table.<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   *<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * @return true if region normalization is enabled for this table<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   */<a name="line.273"></a>
-<span class="sourceLineNo">274</span>  @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public boolean isNormalizationEnabled() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    return delegatee.isNormalizationEnabled();<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>   * Setting the table normalization enable flag.<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   *<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @param isEnable True if enable normalization.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public HTableDescriptor setNormalizationEnabled(final boolean isEnable) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    getDelegateeForModification().setNormalizationEnabled(isEnable);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    return this;<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">290</span>   * Sets the {@link Durability} setting for the table. This defaults to Durability.USE_DEFAULT.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * @param durability enum value<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  public HTableDescriptor setDurability(Durability durability) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    getDelegateeForModification().setDurability(durability);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    return this;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>  /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * Returns the durability setting for the table.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @return durability setting for the table.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   */<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  @Override<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public Durability getDurability() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    return delegatee.getDurability();<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>   * Get the name of the table<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   *<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * @return TableName<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 TableName getTableName() {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    return delegatee.getTableName();<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>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Get the name of the table as a String<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   *<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * @return name of table as a String<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  public String getNameAsString() {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    return delegatee.getTableName().getNameAsString();<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  /**<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * This sets the class associated with the region split policy which<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * determines when a region split should occur.  The class used by<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * default is defined in org.apache.hadoop.hbase.regionserver.RegionSplitPolicy<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * @param clazz the class name<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   */<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public HTableDescriptor setRegionSplitPolicyClassName(String clazz) {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    getDelegateeForModification().setRegionSplitPolicyClassName(clazz);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    return this;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>  /**<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   * This gets the class associated with the region split policy which<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   * determines when a region split should occur.  The class used by<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * default is defined in org.apache.hadoop.hbase.regionserver.RegionSplitPolicy<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   *<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @return the class name of the region split policy for this table.<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * If this returns null, the default split policy is used.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   public String getRegionSplitPolicyClassName() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    return delegatee.getRegionSplitPolicyClassName();<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>   * Returns the maximum size upto which a region can grow to after which a region<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   * split is triggered. The region size is represented by the size of the biggest<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * store file in that region.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   *<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @return max hregion size for table, -1 if not set.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   *<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   * @see #setMaxFileSize(long)<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  public long getMaxFileSize() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    return delegatee.getMaxFileSize();<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>   * Sets the maximum size upto which a region can grow to after which a region<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * split is triggered. The region size is represented by the size of the biggest<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   * store file in that region, i.e. If the biggest store file grows beyond the<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * maxFileSize, then the region split is triggered. This defaults to a value of<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * 256 MB.<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * &lt;p&gt;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * This is not an absolute value and might vary. Assume that a single row exceeds<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * the maxFileSize then the storeFileSize will be greater than maxFileSize since<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * a single row cannot be split across multiple regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * &lt;/p&gt;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   *<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * @param maxFileSize The maximum file size that a store file can grow to<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * before a split is triggered.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  public HTableDescriptor setMaxFileSize(long maxFileSize) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    getDelegateeForModification().setMaxFileSize(maxFileSize);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    return this;<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>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Returns the size of the memstore after which a flush to filesystem is triggered.<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   *<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * @return memory cache flush size for each hregion, -1 if not set.<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   *<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * @see #setMemStoreFlushSize(long)<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  @Override<a name="line.391"></a>
-<span class="sourceLineNo">392</span>  public long getMemStoreFlushSize() {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return delegatee.getMemStoreFlushSize();<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>   * Represents the maximum size of the memstore after which the contents of the<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * memstore are flushed to the filesystem. This defaults to a size of 64 MB.<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   *<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @param memstoreFlushSize memory cache flush size for each hregion<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  public HTableDescriptor setMemStoreFlushSize(long memstoreFlushSize) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    getDelegateeForModification().setMemStoreFlushSize(memstoreFlushSize);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    return this;<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>   * This sets the class associated with the flush policy which determines determines the stores<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * need to be flushed when flushing a region. The class used by default is defined in<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * org.apache.hadoop.hbase.regionserver.FlushPolicy.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   * @param clazz the class name<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   */<a name="line.412"></a>
-<span class="sourceLineNo">413</span>  public HTableDescriptor setFlushPolicyClassName(String clazz) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    getDelegateeForModification().setFlushPolicyClassName(clazz);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    return this;<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>  /**<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * This gets the class associated with the flush policy which determines the stores need to be<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * flushed when flushing a region. The class used by default is defined in<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   * org.apache.hadoop.hbase.regionserver.FlushPolicy.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   * @return the class name of the flush policy for this table. If this returns null, the default<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   *         flush policy is used.<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   */<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  public String getFlushPolicyClassName() {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    return delegatee.getFlushPolicyClassName();<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>  /**<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   * Adds a column family.<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * For the updating purpose please use {@link #modifyFamily(HColumnDescriptor)} instead.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @param family HColumnDescriptor of family to add.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   */<a name="line.434"></a>
-<span class="sourceLineNo">435</span>  public HTableDescriptor addFamily(final HColumnDescriptor family) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    getDelegateeForModification().addColumnFamily(family);<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return this;<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>   * Modifies the existing column family.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @param family HColumnDescriptor of family to update<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   * @return this (for chained invocation)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   */<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  public HTableDescriptor modifyFamily(final HColumnDescriptor family) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    getDelegateeForModification().modifyColumnFamily(family);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return this;<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>  /**<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * Checks to see if this table contains the given column family<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @param familyName Family name or column name.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * @return true if the table contains the specified family name<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   */<a name="line.454"></a>
-<span class="sourceLineNo">455</span>  public boolean hasFamily(final byte [] familyName) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    return delegatee.hasColumnFamily(familyName);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  }<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>  /**<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * @return Name of this table and then a map of all of the column family<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * descriptors.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * @see #getNameAsString()<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>  @Override<a name="line.464"></a>
-<span class="sourceLineNo">465</span>  public String toString() {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    return delegatee.toString();<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>   * @return Name of this table and then a map of all of the column family<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * descriptors (with only the non-default column family attributes)<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   */<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  public String toStringCustomizedValues() {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    return delegatee.toStringCustomizedValues();<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 map of all table attributes formatted into string.<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   */<a name="line.479"></a>
-<span class="sourceLineNo">480</span>  public String toStringTableAttributes() {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   return delegatee.toStringTableAttributes();<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>   * Compare the contents of the descriptor with another one passed as a parameter.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * Checks if the obj passed is an instance of HTableDescriptor, if yes then the<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * contents of the descriptors are compared.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   *<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   * @return true if the contents of the the two descriptors exactly match<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   *<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * @see java.lang.Object#equals(java.lang.Object)<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   */<a name="line.492"></a>
-<span class="sourceLineNo">493</span>  @Override<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  public boolean equals(Object obj) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    if (this == obj) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      return true;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    if (obj instanceof HTableDescriptor) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      return delegatee.equals(((HTableDescriptor) obj).delegatee);<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    return false;<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>  /**<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @see java.lang.Object#hashCode()<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   */<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  @Override<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  public int hashCode() {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    return delegatee.hashCode();<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>  // Comparable<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>   * Compares the descriptor with another descriptor which is passed as a parameter.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This compares the content of the two descriptors and not the reference.<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   *<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * @return 0 if the contents of the descriptors are exactly matching,<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   *         1 if there is a mismatch in the contents<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 int compareTo(final HTableDescriptor other) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    return TableDescriptor.COMPARATOR.compare(this, other);<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>   * Returns an unmodifiable collection of all the {@link HColumnDescriptor}<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * of all the column families of the table.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @deprecated Use {@link #getColumnFamilies}.<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @return Immutable collection of {@link HColumnDescriptor} of all the<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * column families.<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  @Deprecated<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  public Collection&lt;HColumnDescriptor&gt; getFamilies() {<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    return Stream.of(delegatee.getColumnFamilies())<a name="line.535"></a>
-<span class="sourceLineNo">536</span>            .map(this::toHColumnDescriptor)<a name="line.536"></a>
-<span class="sourceLineNo">537</span>            .collect(Collectors.toList());<a name="line.537"></a>
-<span class="sourceLineNo">538</span>  }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>  /**<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   * Returns the configured replicas per region<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   */<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  @Override<a name="line.543"></a>
-<span class="sourceLineNo">544</span>  public int getRegionReplication() {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return delegatee.getRegionReplication();<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Sets the number of replicas per region.<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * @param regionReplication the replication factor per region<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   */<a name="line.551"></a>
-<span class="sourceLineNo">552</span>  public HTableDescriptor setRegionReplication(int regionReplication) {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    getDelegateeForModification().setRegionReplication(regionReplication);<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>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   *             Use {@link #hasRegionMemStoreReplication()} instead<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   */<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  @Deprecated<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  public boolean hasRegionMemstoreReplication() {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    return hasRegionMemStoreReplication();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  }<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>   * @return true if the read-replicas memstore replication is enabled.<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   */<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  @Override<a name="line.569"></a>
-<span class="sourceLineNo">570</span>  public boolean hasRegionMemStoreReplication() {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    return delegatee.hasRegionMemStoreReplication();<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>  /**<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   *             Use {@link #setRegionMemStoreReplication(boolean)} instead<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   */<a name="line.577"></a>
-<span class="sourceLineNo">578</span>  @Deprecated<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public HTableDescriptor setRegionMemstoreReplication(boolean memstoreReplication) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    return setRegionMemStoreReplication(memstoreReplication);<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>   * Enable or Disable the memstore replication from the primary region to the replicas.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * The replication will be used only for meta operations (e.g. flush, compaction, ...)<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   *<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   * @param memstoreReplication true if the new data written to the primary region<a name="line.587"></a>
-<span class="sourceLineNo">588</span>   *                                 should be replicated.<a name="line.588"></a>
-<span class="sourceLineNo">589</span>   *                            false if the secondaries can tollerate to have new<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   *                                  data only when the primary flushes the memstore.<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   */<a name="line.591"></a>
-<span class="sourceLineNo">592</span>  public HTableDescriptor setRegionMemStoreReplication(boolean memstoreReplication) {<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    getDelegateeForModification().setRegionMemStoreReplication(memstoreReplication);<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    return this;<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>  public HTableDescriptor setPriority(int priority) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    getDelegateeForModification().setPriority(priority);<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>  @Override<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  public int getPriority() {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    return delegatee.getPriority();<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>   * Returns all the column family names of the current table. The map of<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * HTableDescriptor contains mapping of family name to HColumnDescriptors.<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * This returns all the keys of the family map which represents the column<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * family names of the table.<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   *<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * @return Immutable sorted set of the keys of the families.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   *             (&lt;a href="https://issues.apache.org/jira/browse/HBASE-18008"&gt;HBASE-18008&lt;/a&gt;).<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   *             Use {@link #getColumnFamilyNames()}.<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   */<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  @Deprecated<a name="line.618"></a>
-<span class="sourceLineNo">619</span>  public Set&lt;byte[]&gt; getFamiliesKeys() {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>    return delegatee.getColumnFamilyNames();<a name="line.620"></a>
-<span class="sourceLineNo">621</span>  }<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>   * Returns the count of the column families of the table.<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   *<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   * @return Count of column families of the table<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   */<a name="line.627"></a>
-<span class="sourceLineNo">628</span>  @Override<a name="line.628"></a>
-<span class="sourceLineNo">629</span>  public int getColumnFamilyCount() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>    return delegatee.getColumnFamilyCount();<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>  /**<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * Returns an array all the {@link HColumnDescriptor} of the column families<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   * of the table.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   *<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * @return Array of all the HColumnDescriptors of the current table<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   *<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * @see #getFamilies()<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  @Deprecated<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  @Override<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  public HColumnDescriptor[] getColumnFamilies() {<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    return Stream.of(delegatee.getColumnFamilies())<a name="line.644"></a>
-<span class="sourceLineNo">645</span>            .map(this::toHColumnDescriptor)<a name="line.645"></a>
-<span class="sourceLineNo">646</span>            .toArray(size -&gt; new HColumnDescriptor[size]);<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  }<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>   * Returns the HColumnDescriptor for a specific column family with name as<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   * specified by the parameter column.<a name="line.651"></a>
-<span class="sourceLineNo">652</span>   * @param column Column family name<a name="line.652"></a>
-<span class="sourceLineNo">653</span>   * @return Column descriptor for the passed family name or the family on<a name="line.653"></a>
-<span class="sourceLineNo">654</span>   * passed in column.<a name="line.654"></a>
-<span class="sourceLineNo">655</span>   * @deprecated Use {@link #getColumnFamily(byte[])}.<a name="line.655"></a>
-<span class="sourceLineNo">656</span>   */<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  @Deprecated<a name="line.657"></a>
-<span class="sourceLineNo">658</span>  public HColumnDescriptor getFamily(final byte[] column) {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    return toHColumnDescriptor(delegatee.getColumnFamily(column));<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>  /**<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   * Removes the HColumnDescriptor with name specified by the parameter column<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   * from the table descriptor<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   *<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   * @param column Name of the column family to be removed.<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * @return Column descriptor for the passed family name or the family on<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   * passed in column.<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   */<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  public HColumnDescriptor removeFamily(final byte [] column) {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    return toHColumnDescriptor(getDelegateeForModification().removeColumnFamily(column));<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>   * Return a HColumnDescriptor for user to keep the compatibility as much as possible.<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   * @param desc read-only ColumnFamilyDescriptor<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * @return The older implementation of ColumnFamilyDescriptor<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   */<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  protected HColumnDescriptor toHColumnDescriptor(ColumnFamilyDescriptor desc) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    if (desc == null) {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      return null;<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    } else if (desc instanceof ModifyableColumnFamilyDescriptor) {<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      return new HColumnDescriptor((ModifyableColumnFamilyDescriptor) desc);<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    } else if (desc instanceof HColumnDescriptor) {<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      return (HColumnDescriptor) desc;<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    } else {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      return new HColumnDescriptor(new ModifyableColumnFamilyDescriptor(desc));<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    }<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>  /**<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * Add a table coprocessor to this table. The coprocessor<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * type must be org.apache.hadoop.hbase.coprocessor.RegionCoprocessor.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * It won't check if the class can be loaded or not.<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * Whether a coprocessor is loadable or not will be determined when<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * a region is opened.<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param className Full class name.<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public HTableDescriptor addCoprocessor(String className) throws IOException {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    getDelegateeForModification().addCoprocessor(className);<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    return this;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  }<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>  /**<a name="line.706"></a>
-<span class="sourceLineNo">707</span>   * Add a table coprocessor to this table. The coprocessor<a name="line.707"></a>
-<span class="sourceLineNo">708</span>   * type must be org.apache.hadoop.hbase.coprocessor.RegionCoprocessor.<a name="line.708"></a>
-<span class="sourceLineNo">709</span>   * It won't check if the class can be loaded or not.<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * Whether a coprocessor is loadable or not will be determined when<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   * a region is opened.<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * @param jarFilePath Path of the jar file. If it's null, the class will be<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * loaded from default classloader.<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * @param className Full class name.<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * @param priority Priority<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * @param kvs Arbitrary key-value parameter pairs passed into the coprocessor.<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   * @throws IOException<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   */<a name="line.718"></a>
-<span class="sourceLineNo">719</span>  public HTableDescriptor addCoprocessor(String className, Path jarFilePath,<a name="line.719"></a>
-<span class="sourceLineNo">720</span>                             int priority, final Map&lt;String, String&gt; kvs)<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  throws IOException {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    getDelegateeForModification().addCoprocessor(className, jarFilePath, priority, kvs);<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    return this;<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>  /**<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * Add a table coprocessor to this table. The coprocessor<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   * type must be org.apache.hadoop.hbase.coprocessor.RegionCoprocessor.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * It won't check if the class can be loaded or not.<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   * Whether a coprocessor is loadable or not will be determined when<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   * a region is opened.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   * @param specStr The Coprocessor specification all in in one String formatted so matches<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   * {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   * @throws IOException<a name="line.734"></a>
-<span class="sourceLineNo">735</span>   */<a name="line.735"></a>
-<span class="sourceLineNo">736</span>  public HTableDescriptor addCoprocessorWithSpec(final String specStr) throws IOException {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    getDelegateeForModification().addCoprocessorWithSpec(specStr);<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    return this;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>  }<a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
-<span class="sourceLineNo">741</span>  /**<a name="line.741"></a>
-<span class="sourceLineNo">742</span>   * Check if the table has an attached co-processor represented by the name className<a name="line.742"></a>
-<span class="sourceLineNo">743</span>   *<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * @param classNameToMatch - Class name of the co-processor<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * @return true of the table has a co-processor className<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   */<a name="line.746"></a>
-<span class="sourceLineNo">747</span>  @Override<a name="line.747"></a>
-<span class="sourceLineNo">748</span>  public boolean hasCoprocessor(String classNameToMatch) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    return delegatee.hasCoprocessor(classNameToMatch);<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>  /**<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * Return the list of attached co-processor represented by their name className<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   *<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * @return The list of co-processors classNames<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 List&lt;String&gt; getCoprocessors() {<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    return delegatee.getCoprocessors();<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>   * Remove a coprocessor from those set on the table<a name="line.763"></a>
-<span class="sourceLineNo">764</span>   * @param className Class name of the co-processor<a name="line.764"></a>
-<span class="sourceLineNo">765</span>   */<a name="line.765"></a>
-<span class="sourceLineNo">766</span>  public void removeCoprocessor(String className) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    getDelegateeForModification().removeCoprocessor(className);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>  }<a name="line.768"></a>
-<span class="sourceLineNo">769</span><a name="line.769"></a>
-<span class="sourceLineNo">770</span>  public final static String NAMESPACE_FAMILY_INFO = TableDescriptorBuilder.NAMESPACE_FAMILY_INFO;<a name="line.770"></a>
-<span class="sourceLineNo">771</span>  public final static byte[] NAMESPACE_FAMILY_INFO_BYTES = TableDescriptorBuilder.NAMESPACE_FAMILY_INFO_BYTES;<a name="line.771"></a>
-<span class="sourceLineNo">772</span>  public final static byte[] NAMESPACE_COL_DESC_BYTES = TableDescriptorBuilder.NAMESPACE_COL_DESC_BYTES;<a name="line.772"></a>
-<span class="sourceLineNo">773</span><a name="line.773"></a>
-<span class="sourceLineNo">774</span>  /** Table descriptor for namespace table */<a name="line.774"></a>
-<span class="sourceLineNo">775</span>  public static final HTableDescriptor NAMESPACE_TABLEDESC<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    = new HTableDescriptor(TableDescriptorBuilder.NAMESPACE_TABLEDESC);<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>  @Deprecated<a name="line.778"></a>
-<span class="sourceLineNo">779</span>  public HTableDescriptor setOwner(User owner) {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    getDelegateeForModification().setOwner(owner);<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    return this;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>  }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>  // used by admin.rb:alter(table_name,*args) to update owner.<a name="line.784"></a>
+<span class="sourceLineNo">038</span>import org.apache.yetus.audience.InterfaceAudience;<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> * HTableDescriptor contains the details about an HBase table  such as the descriptors of<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * all the column families, is the table a catalog table, &lt;code&gt; hbase:meta &lt;/code&gt;,<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * if the table is read only, the maximum size of the memstore,<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * when the region split should occur, coprocessors associated with it etc...<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *             Use {@link TableDescriptorBuilder} to build {@link HTableDescriptor}.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Deprecated<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class HTableDescriptor implements TableDescriptor, Comparable&lt;HTableDescriptor&gt; {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public static final String SPLIT_POLICY = TableDescriptorBuilder.SPLIT_POLICY;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public static final String MAX_FILESIZE = TableDescriptorBuilder.MAX_FILESIZE;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  public static final String OWNER = TableDescriptorBuilder.OWNER;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public static final Bytes OWNER_KEY = TableDescriptorBuilder.OWNER_KEY;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public static final String READONLY = TableDescriptorBuilder.READONLY;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  public static final String COMPACTION_ENABLED = TableDescriptorBuilder.COMPACTION_ENABLED;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static final String MEMSTORE_FLUSHSIZE = TableDescriptorBuilder.MEMSTORE_FLUSHSIZE;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public static final String FLUSH_POLICY = TableDescriptorBuilder.FLUSH_POLICY;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  public static final String IS_ROOT = "IS_ROOT";<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final String IS_META = TableDescriptorBuilder.IS_META;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public static final String DURABILITY = TableDescriptorBuilder.DURABILITY;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  public static final String REGION_REPLICATION = TableDescriptorBuilder.REGION_REPLICATION;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public static final String REGION_MEMSTORE_REPLICATION = TableDescriptorBuilder.REGION_MEMSTORE_REPLICATION;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public static final String NORMALIZATION_ENABLED = TableDescriptorBuilder.NORMALIZATION_ENABLED;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  public static final String PRIORITY = TableDescriptorBuilder.PRIORITY;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static final boolean DEFAULT_READONLY = TableDescriptorBuilder.DEFAULT_READONLY;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public static final boolean DEFAULT_COMPACTION_ENABLED = TableDescriptorBuilder.DEFAULT_COMPACTION_ENABLED;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public static final boolean DEFAULT_NORMALIZATION_ENABLED = TableDescriptorBuilder.DEFAULT_NORMALIZATION_ENABLED;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public static final long DEFAULT_MEMSTORE_FLUSH_SIZE = TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  public static final int DEFAULT_REGION_REPLICATION = TableDescriptorBuilder.DEFAULT_REGION_REPLICATION;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public static final boolean DEFAULT_REGION_MEMSTORE_REPLICATION = TableDescriptorBuilder.DEFAULT_REGION_MEMSTORE_REPLICATION;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  protected final ModifyableTableDescriptor delegatee;<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>   * Construct a table descriptor specifying a TableName object<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * @param name Table name.<a name="line.76"></a>
+<span class="sourceLineNo">077</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.77"></a>
+<span class="sourceLineNo">078</span>   */<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public HTableDescriptor(final TableName name) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    this(new ModifyableTableDescriptor(name));<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>  /**<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * Construct a table descriptor by cloning the descriptor passed as a parameter.<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * &lt;p&gt;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * Makes a deep copy of the supplied descriptor.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Can make a modifiable descriptor from an ImmutableHTableDescriptor.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param desc The descriptor.<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public HTableDescriptor(final HTableDescriptor desc) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    this(desc, true);<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>  protected HTableDescriptor(final HTableDescriptor desc, boolean deepClone) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this(deepClone ? new ModifyableTableDescriptor(desc.getTableName(), desc)<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      : desc.delegatee);<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>  public HTableDescriptor(final TableDescriptor desc) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this(new ModifyableTableDescriptor(desc.getTableName(), desc));<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>   * Construct a table descriptor by cloning the descriptor passed as a parameter<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * but using a different table name.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * &lt;p&gt;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * Makes a deep copy of the supplied descriptor.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * Can make a modifiable descriptor from an ImmutableHTableDescriptor.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * @param name Table name.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * @param desc The descriptor.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  public HTableDescriptor(final TableName name, final HTableDescriptor desc) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    this(new ModifyableTableDescriptor(name, desc));<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>  protected HTableDescriptor(ModifyableTableDescriptor delegatee) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    this.delegatee = delegatee;<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>  /**<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * This is vestigial API. It will be removed in 3.0.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   *<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @return always return the false<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public boolean isRootRegion() {<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>  /**<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * region.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   *<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * region<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @Override<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public boolean isMetaRegion() {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    return delegatee.isMetaRegion();<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>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   *<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<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 boolean isMetaTable() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return delegatee.isMetaTable();<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>  /**<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * @return Getter for fetching an unmodifiable map.<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 Map&lt;Bytes, Bytes&gt; getValues() {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return delegatee.getValues();<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>  /**<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Setter for storing metadata as a (key, value) pair in map<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   *<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param key The key.<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @param value The value. If null, removes the setting.<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   */<a name="line.164"></a>
+<span class="sourceLineNo">165</span>  public HTableDescriptor setValue(byte[] key, byte[] value) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    getDelegateeForModification().setValue(key, value);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return this;<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>  /*<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   * Setter for storing metadata as a (key, value) pair in map<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   *<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * @param key The key.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * @param value The value. If null, removes the setting.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   */<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public HTableDescriptor setValue(final Bytes key, final Bytes value) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    getDelegateeForModification().setValue(key, value);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    return this;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * Setter for storing metadata as a (key, value) pair in map<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * @param key The key.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * @param value The value. If null, removes the setting.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  public HTableDescriptor setValue(String key, String value) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    getDelegateeForModification().setValue(Bytes.toBytes(key), Bytes.toBytes(value));<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    return this;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>  /**<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * Remove metadata represented by the key from the map<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   *<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param key Key whose key and value we're to remove from HTableDescriptor<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * parameters.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  public void remove(final String key) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    getDelegateeForModification().removeValue(Bytes.toBytes(key));<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  }<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a n

<TRUNCATED>

[12/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html
index df5fa53..8fffb89 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html
@@ -42,1927 +42,2060 @@
 <span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.conf.Configuration;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Get;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Put;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.Result;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.Table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.slf4j.Logger;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.slf4j.LoggerFactory;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * AssignmentManager) we want permanent connection.<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * &lt;/p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * called default replica.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;pre&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * For each table there is single row in column family 'table' formatted:<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * table: state             =&gt; contains table state<a name="line.98"></a>
-<span class="sourceLineNo">099</span> *<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * For each table range, there is a single row, formatted like:<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * This row corresponds to the regionName of the default region replica.<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * Columns are:<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.104"></a>
-<span class="sourceLineNo">105</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *                            the default regionInfo replica<a name="line.106"></a>
-<span class="sourceLineNo">107</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *                                 the regionInfo replica with replicaId<a name="line.108"></a>
-<span class="sourceLineNo">109</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *                            hosting the default regionInfo replica<a name="line.110"></a>
-<span class="sourceLineNo">111</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.111"></a>
-<span class="sourceLineNo">112</span> *                                          the server hosting the regionInfo replica with<a name="line.112"></a>
-<span class="sourceLineNo">113</span> *                                          replicaId<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.114"></a>
-<span class="sourceLineNo">115</span> *                             the server opened the region with default replicaId<a name="line.115"></a>
-<span class="sourceLineNo">116</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.116"></a>
-<span class="sourceLineNo">117</span> *                                           at the time the server opened the region with<a name="line.117"></a>
-<span class="sourceLineNo">118</span> *                                           replicaId<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.119"></a>
-<span class="sourceLineNo">120</span> *                             region is split<a name="line.120"></a>
-<span class="sourceLineNo">121</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.121"></a>
-<span class="sourceLineNo">122</span> *                             region is split<a name="line.122"></a>
-<span class="sourceLineNo">123</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.123"></a>
-<span class="sourceLineNo">124</span> *                             region is the result of a merge<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.125"></a>
-<span class="sourceLineNo">126</span> *                             region is the result of a merge<a name="line.126"></a>
-<span class="sourceLineNo">127</span> * &lt;/pre&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> * &lt;/p&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.130"></a>
-<span class="sourceLineNo">131</span> * leak out of it (through Result objects, etc)<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * &lt;/p&gt;<a name="line.132"></a>
-<span class="sourceLineNo">133</span> */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>@InterfaceAudience.Private<a name="line.134"></a>
-<span class="sourceLineNo">135</span>public class MetaTableAccessor {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.138"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static final byte [] META_REGION_PREFIX;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  static {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    META_REGION_PREFIX = new byte [len];<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      META_REGION_PREFIX, 0, len);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Lists all of the table regions currently in META.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Deprecated, keep there until some test use this.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param connection what we will use<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param tableName table to list<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @return Map of all user-space regions to servers<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        RegionLocations locations = getRegionLocations(result);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (locations == null) return true;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          if (loc != null) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public enum QueryType {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    private final byte[][] families;<a name="line.186"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>    QueryType(byte[]... families) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return this.families;<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><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.198"></a>
+<span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  ////////////////////////<a name="line.206"></a>
+<span class="sourceLineNo">200</span>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param connection connection we're using<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static void fullScanRegions(Connection connection,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      final Visitor visitor)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param connection connection we're using<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      throws IOException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param connection connection we're using<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static void fullScanTables(Connection connection,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      final Visitor visitor)<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param connection connection we're using<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param type scanned part of meta<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return List of {@link Result}<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    scanMeta(connection, null, null, type, v);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param connection connection we're using to access Meta<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public static Table getMetaHTable(final Connection connection)<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (connection == null) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throw new NullPointerException("No connection");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    } else if (connection.isClosed()) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      throw new IOException("connection is closed");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return connection.getTable(TableName.META_TABLE_NAME);<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>   * @param t Table to use (will be closed when done).<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @param g Get to run<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (t == null) return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return t.get(g);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } finally {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      t.close();<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>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Gets the region info and assignment for the specified region.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param connection connection we're using<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param regionName Region to lookup.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Deprecated<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    throws IOException {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return location == null<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      ? null<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param connection connection we're using<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param regionName region we're looking for<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return HRegionLocation for the given region<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    byte[] row = regionName;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    RegionInfo parsedInfo = null;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    } catch (Exception parseEx) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Get get = new Get(row);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    Result r = get(getMetaHTable(connection), get);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    RegionLocations locations = getRegionLocations(r);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return locations == null ? null<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param connection connection we're using<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param regionInfo region information<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return HRegionLocation for the given region<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Get get = new Get(row);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Result r = get(getMetaHTable(connection), get);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * in the regionName.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>              .setStartKey(fields[1])<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              .setEndKey(fields[2])<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              .setSplit(false)<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              .setRegionId(regionId)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              .setReplicaId(replicaId)<a name="line.354"></a>
-<span class="sourceLineNo">355</span>              .build();<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>  /**<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * Gets the result in hbase:meta for the specified region.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param connection connection we're using<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param regionName region we're looking for<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return result of the specified region<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static Result getRegionResult(Connection connection,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      byte[] regionName) throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    Get get = new Get(regionName);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Nullable<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    Result result = getRegionResult(connection, regionName);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * the specified server.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @param connection connection we're using<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param tableName table to check<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @return true if the table exists in meta, false if not<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public static boolean tableExists(Connection connection,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      final TableName tableName)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  throws IOException {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Catalog tables always exist.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param connection to connect with<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @return List of all user-space regions.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @VisibleForTesting<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      boolean excludeOfflinedSplitParents)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        excludeOfflinedSplitParents);<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>    return getListOfRegionInfos(result);<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>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param connection connection we're using<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @param tableName table we're looking for<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param connection connection we're using<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @param tableName table we're looking for<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * parents in the return.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return getListOfRegionInfos(result);<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>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return Collections.emptyList();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      result.add(pair.getFirst());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return result;<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>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param tableName table we're working with<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * @return start row for scanning META according to query type<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (tableName == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return null;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    switch (type) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    case REGION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return startRow;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    case ALL:<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    case TABLE:<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    default:<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      return tableName.getName();<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>  /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param tableName table we're working with<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @return stop row for scanning META according to query type<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (tableName == null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    final byte[] stopRow;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    switch (type) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    case REGION:<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      break;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    case ALL:<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    case TABLE:<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    default:<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      break;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return stopRow;<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>   * This method creates a Scan object that will only scan catalog rows that<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This is a better alternative to just using a start row and scan until<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * name.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * @param tableName bytes of table's name<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @return configured Scan object<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  @Deprecated<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // Start key is just the table name with delimiters<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // Stop key appends the smallest possible char to the table name<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    Scan scan = getMetaScan(connection, -1);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    scan.setStartRow(startKey);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    scan.setStopRow(stopKey);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return scan;<a name="line.532"></a>
-<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>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    Scan scan = new Scan();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int scannerCaching = connection.getConfiguration()<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (rowUpperLimit &gt; 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      scan.setLimit(rowUpperLimit);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    scan.setCaching(scannerCaching);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param connection connection we're using<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * @param tableName table we're looking for<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return Return list of regioninfos and server.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   */<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return getTableRegionsAndLocations(connection, tableName, true);<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param connection connection we're using<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return Return list of regioninfos and server addresses.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @throws IOException<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      Connection connection, @Nullable final TableName tableName,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        + " use MetaTableLocator instead");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        private RegionLocations current = null;<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>        @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        public boolean visit(Result r) throws IOException {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          current = getRegionLocations(r);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            return true;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Else call super and add this Result to the collection.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          return super.visit(r);<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>        @Override<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        void add(Result r) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>          if (current == null) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>            return;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>            if (loc != null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    scanMeta(connection,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        QueryType.REGION, visitor);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return visitor.getResults();<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>  /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param connection connection we're using<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param serverName server whose regions we're interested in<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @return List of user regions installed on this server (does not include<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * catalog regions).<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @throws IOException<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    // servername.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      @Override<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      void add(Result r) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        if (r == null || r.isEmpty()) return;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        RegionLocations locations = getRegionLocations(r);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        if (locations == null) return;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          if (loc != null) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>              hris.put(loc.getRegion(), r);<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>      }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    };<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    return hris;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    throws IOException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Visitor v = new Visitor() {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      @Override<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      public boolean visit(Result r) throws IOException {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        TableState state = getTableState(r);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (state != null) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          LOG.info("Table State: " + state);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        } else {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          RegionLocations locations = getRegionLocations(r);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          if (locations == null) return true;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            if (loc != null) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        }<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Performs a scan of META table for given table starting from<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * given row.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   *<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param connection connection we're using<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param visitor    visitor to call<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableName  table withing we scan<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param row        start scan from this row<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param rowLimit   max number of rows to return<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static void scanMeta(Connection connection,<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      final Visitor visitor, final TableName tableName,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final byte[] row, final int rowLimit)<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      throws IOException {<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    byte[] startRow = null;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    byte[] stopRow = null;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    if (tableName != null) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      startRow =<a name="line.709"></a>
-<span class="sourceLineNo">710</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      if (row != null) {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        RegionInfo closestRi =<a name="line.712"></a>
-<span class="sourceLineNo">713</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        startRow = RegionInfo<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      stopRow =<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<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><a name="line.723"></a>
-<span class="sourceLineNo">724</span>  /**<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * Performs a scan of META table.<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * @param connection connection we're using<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *                 at first row.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stopRow Where to stop the scan. Pass null if want to scan all

<TRUNCATED>

[38/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.html b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.html
index 955617c..b040cce 100644
--- a/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/MetaTableAccessor.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":41,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":41,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":41,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":41,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":41,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":41,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9,"i91":9,"i92":9,"i93":9,"i94":9,"i95":9,"i96":9,"i97":9,"i98":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.135">MetaTableAccessor</a>
+public class <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.138">MetaTableAccessor</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block"><p>
  Read/write operations on region and assignment information store in <code>hbase:meta</code>.
@@ -215,11 +215,15 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.TableVisitorBase</a></span></code>
 <div class="block">A Visitor for a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a></span></code>
 <div class="block">Implementations 'visit' a catalog table row.</div>
@@ -245,7 +249,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#LOG">LOG</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>(package private) static byte[]</code></td>
+<td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#META_REGION_PREFIX">META_REGION_PREFIX</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -259,6 +263,18 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#METALOG">METALOG</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#REPLICATION_PARENT_QUALIFIER">REPLICATION_PARENT_QUALIFIER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#REPLICATION_PARENT_SEPARATOR">REPLICATION_PARENT_SEPARATOR</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#REPLICATION_PARENT_SEPARATOR_REGEX">REPLICATION_PARENT_SEPARATOR_REGEX</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#SERVER_COLUMN_PATTERN">SERVER_COLUMN_PATTERN</a></span></code>
 <div class="block">A regex for parsing server columns from meta.</div>
@@ -351,12 +367,22 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </td>
 </tr>
 <tr id="i8" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#addReplicationBarrier-org.apache.hadoop.hbase.client.Put-long-">addReplicationBarrier</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+                     long&nbsp;openSeqNum)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#addReplicationParent-org.apache.hadoop.hbase.client.Put-java.util.List-">addReplicationParent</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;parents)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#addSequenceNum-org.apache.hadoop.hbase.client.Put-long-int-">addSequenceNum</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p,
               long&nbsp;openSeqNum,
               int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#addSplitsToParent-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">addSplitsToParent</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                  <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -365,7 +391,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Adds daughter region infos to hbase:meta row for the specified region.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>static <a href="https://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="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#allTableRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">allTableRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -374,50 +400,50 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#debugLogMutation-org.apache.hadoop.hbase.client.Mutation-">debugLogMutation</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#debugLogMutations-java.util.List-">debugLogMutations</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteFromMetaTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Delete-">deleteFromMetaTable</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                    <a href="../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;d)</code>
 <div class="block">Delete the passed <code>d</code> from the <code>hbase:meta</code> table.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteFromMetaTable-org.apache.hadoop.hbase.client.Connection-java.util.List-">deleteFromMetaTable</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&gt;&nbsp;deletes)</code>
 <div class="block">Delete the passed <code>deletes</code> from the <code>hbase:meta</code> table.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteMergeQualifiers-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-">deleteMergeQualifiers</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                      <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion)</code>
 <div class="block">Deletes merge qualifiers for the specified merged region.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-">deleteRegion</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Deletes the specified region from META.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteRegions-org.apache.hadoop.hbase.client.Connection-java.util.List-">deleteRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regionsInfo)</code>
 <div class="block">Deletes the specified regions from META.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteRegions-org.apache.hadoop.hbase.client.Connection-java.util.List-long-">deleteRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regionsInfo,
@@ -425,104 +451,104 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Deletes the specified regions from META.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteTableState-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">deleteTableState</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                 <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
 <div class="block">Remove state for table from meta</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&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/MetaTableAccessor.html#fullScan-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-">fullScan</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
         <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a>&nbsp;type)</code>
 <div class="block">Performs a full scan of <code>hbase:meta</code>.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#fullScanMetaAndPrint-org.apache.hadoop.hbase.client.Connection-">fullScanMetaAndPrint</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&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/MetaTableAccessor.html#fullScanRegions-org.apache.hadoop.hbase.client.Connection-">fullScanRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection)</code>
 <div class="block">Performs a full scan of <code>hbase:meta</code> for regions.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#fullScanRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-">fullScanRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor)</code>
 <div class="block">Performs a full scan of <code>hbase:meta</code> for regions.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#fullScanTables-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-">fullScanTables</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
               <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor)</code>
 <div class="block">Performs a full scan of <code>hbase:meta</code> for tables.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>private 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/MetaTableAccessor.html#get-org.apache.hadoop.hbase.client.Table-org.apache.hadoop.hbase.client.Get-">get</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
    <a href="../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;g)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getAllRegions-org.apache.hadoop.hbase.client.Connection-boolean-">getAllRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
              boolean&nbsp;excludeOfflinedSplitParents)</code>
 <div class="block">Lists all of the regions currently in META.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getCatalogFamily--">getCatalogFamily</a></span>()</code>
 <div class="block">Returns the column family used for meta columns.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getClosestRegionInfo-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-byte:A-">getClosestRegionInfo</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                     <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     byte[]&nbsp;row)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/util/PairOfSameType.html" title="class in org.apache.hadoop.hbase.util">PairOfSameType</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getDaughterRegions-org.apache.hadoop.hbase.client.Result-">getDaughterRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;data)</code>
 <div class="block">Returns the daughter regions by reading the corresponding columns of the catalog table
  Result.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getListOfRegionInfos-java.util.List-">getListOfRegionInfos</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;pairs)</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/util/PairOfSameType.html" title="class in org.apache.hadoop.hbase.util">PairOfSameType</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getMergeRegions-org.apache.hadoop.hbase.client.Result-">getMergeRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;data)</code>
 <div class="block">Returns the merge regions by reading the corresponding columns of the catalog table
  Result.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getMetaHTable-org.apache.hadoop.hbase.client.Connection-">getMetaHTable</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection)</code>
 <div class="block">Callers should call close on the returned <a href="../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> instance.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getMetaKeyForRegion-org.apache.hadoop.hbase.client.RegionInfo-">getMetaKeyForRegion</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Returns the row key to use for this regionInfo</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getMetaScan-org.apache.hadoop.hbase.client.Connection-int-">getMetaScan</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            int&nbsp;rowUpperLimit)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegion-org.apache.hadoop.hbase.client.Connection-byte:A-">getRegion</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
          byte[]&nbsp;regionName)</code>
@@ -531,21 +557,21 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionCount-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.TableName-">getRegionCount</a></span>(org.apache.hadoop.conf.Configuration&nbsp;c,
               <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Count regions in <code>hbase:meta</code> for passed table.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionCount-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getRegionCount</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
               <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Count regions in <code>hbase:meta</code> for passed table.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionInfo-org.apache.hadoop.hbase.client.Result-">getRegionInfo</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;data)</code>
 <div class="block">Returns RegionInfo object from the column
@@ -553,7 +579,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  table Result.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionInfo-org.apache.hadoop.hbase.client.Result-byte:A-">getRegionInfo</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
              byte[]&nbsp;qualifier)</code>
@@ -561,27 +587,27 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  <code>qualifier</code> of the catalog table result.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionInfoColumn--">getRegionInfoColumn</a></span>()</code>
 <div class="block">Returns the column qualifier for serialized region info</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionLocation-org.apache.hadoop.hbase.client.Connection-byte:A-">getRegionLocation</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                  byte[]&nbsp;regionName)</code>
 <div class="block">Returns the HRegionLocation from meta for the given region</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionLocation-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-">getRegionLocation</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                  <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Returns the HRegionLocation from meta for the given region</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionLocation-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.client.RegionInfo-int-">getRegionLocation</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
                  <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -590,90 +616,114 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  for the given regionInfo and replicaId.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionLocations-org.apache.hadoop.hbase.client.Result-">getRegionLocations</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)</code>
 <div class="block">Returns an HRegionLocationList extracted from the result.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i47" 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/MetaTableAccessor.html#getRegionResult-org.apache.hadoop.hbase.client.Connection-byte:A-">getRegionResult</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                byte[]&nbsp;regionName)</code>
 <div class="block">Gets the result in hbase:meta for the specified region.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionsFromMergeQualifier-org.apache.hadoop.hbase.client.Connection-byte:A-">getRegionsFromMergeQualifier</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                             byte[]&nbsp;regionName)</code>
 <div class="block">Get regions from the merge qualifier of the specified merged region</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getRegionStateColumn--">getRegionStateColumn</a></span>()</code>
 <div class="block">Returns the column qualifier for serialized region state</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i50" class="altColor">
+<td class="colFirst"><code>private static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrier-org.apache.hadoop.hbase.Cell-">getReplicationBarrier</a></span>(<a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>&nbsp;</td>
+</tr>
+<tr id="i51" class="rowColor">
+<td class="colFirst"><code>static long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrier-org.apache.hadoop.hbase.client.Connection-byte:A-">getReplicationBarrier</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                     byte[]&nbsp;regionName)</code>&nbsp;</td>
+</tr>
+<tr id="i52" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-byte:A-byte:A-">getReplicationBarrierResult</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                           <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                           byte[]&nbsp;row,
+                           byte[]&nbsp;encodedRegionName)</code>&nbsp;</td>
+</tr>
+<tr id="i53" class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Result-">getReplicationBarrierResult</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="i54" class="altColor">
+<td class="colFirst"><code>private static long[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarriers-org.apache.hadoop.hbase.client.Result-">getReplicationBarriers</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="i55" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getScanForTableName-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getScanForTableName</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                    <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getSeqNumColumn-int-">getSeqNumColumn</a></span>(int&nbsp;replicaId)</code>
 <div class="block">Returns the column qualifier for seqNum column for replicaId</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>private static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getSeqNumDuringOpen-org.apache.hadoop.hbase.client.Result-int-">getSeqNumDuringOpen</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
                    int&nbsp;replicaId)</code>
 <div class="block">The latest seqnum that the server writing to meta observed when opening the region.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getServerColumn-int-">getServerColumn</a></span>(int&nbsp;replicaId)</code>
 <div class="block">Returns the column qualifier for server column for replicaId</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getServerName-org.apache.hadoop.hbase.client.Result-int-">getServerName</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
              int&nbsp;replicaId)</code>
 <div class="block">Returns a <a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase"><code>ServerName</code></a> from catalog table <a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a>.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>static <a href="https://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="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</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"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getServerUserRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.ServerName-">getServerUserRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                     <a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getStartCodeColumn-int-">getStartCodeColumn</a></span>(int&nbsp;replicaId)</code>
 <div class="block">Returns the column qualifier for server start code column for replicaId</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableFamily--">getTableFamily</a></span>()</code>
 <div class="block">Returns the column family used for table columns.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Gets all of the regions of the specified table.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-boolean-">getTableRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -681,14 +731,14 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Gets all of the regions of the specified table.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegionsAndLocations-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableRegionsAndLocations</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                            <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Do not use this method to get meta table regions, use methods in MetaTableLocator instead.</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegionsAndLocations-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-boolean-">getTableRegionsAndLocations</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                            <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -696,42 +746,42 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Do not use this method to get meta table regions, use methods in MetaTableLocator instead.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableStartRowForMeta-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-">getTableStartRowForMeta</a></span>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                        <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableState-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableState</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
              <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Fetch table state for given table from META table</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableState-org.apache.hadoop.hbase.client.Result-">getTableState</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r)</code>
 <div class="block">Decode table state from META Result.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableStateColumn--">getTableStateColumn</a></span>()</code>
 <div class="block">Returns the column qualifier for serialized table state</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableStates-org.apache.hadoop.hbase.client.Connection-">getTableStates</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>
 <div class="block">Fetch table states from META table</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableStopRowForMeta-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-">getTableStopRowForMeta</a></span>(<a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makeDeleteFromRegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-">makeDeleteFromRegionInfo</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                         long&nbsp;ts)</code>
@@ -739,33 +789,41 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  table</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i74" class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makePutForReplicationBarrier-org.apache.hadoop.hbase.client.RegionInfo-long-long-">makePutForReplicationBarrier</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+                            long&nbsp;openSeqNum,
+                            long&nbsp;ts)</code>&nbsp;</td>
+</tr>
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makePutFromRegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-">makePutFromRegionInfo</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                      long&nbsp;ts)</code>
 <div class="block">Generates and returns a Put containing the region into for the catalog table</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makePutFromTableState-org.apache.hadoop.hbase.client.TableState-long-">makePutFromTableState</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a>&nbsp;state,
                      long&nbsp;ts)</code>
 <div class="block">Construct PUT for given state</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">mergeRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.ServerName-int-">mergeRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
             <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionA,
+            long&nbsp;regionAOpenSeqNum,
             <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionB,
+            long&nbsp;regionBOpenSeqNum,
             <a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
             int&nbsp;regionReplication)</code>
 <div class="block">Merge the two regions into one in an atomic operation.</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
-<td class="colFirst"><code>static void</code></td>
+<tr id="i78" class="altColor">
+<td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#multiMutate-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Table-byte:A-java.util.List-">multiMutate</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
            byte[]&nbsp;row,
@@ -773,21 +831,21 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Performs an atomic multi-mutate operation against the given table.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#multiMutate-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Table-byte:A-org.apache.hadoop.hbase.client.Mutation...-">multiMutate</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
            byte[]&nbsp;row,
            <a href="../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>...&nbsp;mutations)</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mutateMetaTable-org.apache.hadoop.hbase.client.Connection-java.util.List-">mutateMetaTable</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations)</code>
 <div class="block">Execute the passed <code>mutations</code> against <code>hbase:meta</code> table.</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#overwriteRegions-org.apache.hadoop.hbase.client.Connection-java.util.List-int-">overwriteRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regionInfos,
@@ -795,38 +853,38 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Overwrites the specified regions from hbase:meta.</div>
 </td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#parseRegionInfoFromRegionName-byte:A-">parseRegionInfoFromRegionName</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Returns an HRI parsed from this regionName.</div>
 </td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>(package private) static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#parseReplicaIdFromServerColumn-byte:A-">parseReplicaIdFromServerColumn</a></span>(byte[]&nbsp;serverColumn)</code>
 <div class="block">Parses the replicaId from the server column qualifier.</div>
 </td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#put-org.apache.hadoop.hbase.client.Table-org.apache.hadoop.hbase.client.Put-">put</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
    <a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#putsToMetaTable-org.apache.hadoop.hbase.client.Connection-java.util.List-">putsToMetaTable</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;ps)</code>
 <div class="block">Put the passed <code>ps</code> to the <code>hbase:meta</code> table.</div>
 </td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#putToMetaTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.Put-">putToMetaTable</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
               <a href="../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)</code>
 <div class="block">Put the passed <code>p</code> to the <code>hbase:meta</code> table.</div>
 </td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#removeRegionReplicasFromMeta-java.util.Set-int-int-org.apache.hadoop.hbase.client.Connection-">removeRegionReplicasFromMeta</a></span>(<a href="https://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;metaRows,
                             int&nbsp;replicaIndexToDeleteFrom,
@@ -835,7 +893,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Deletes some replica columns corresponding to replicas for the passed rows</div>
 </td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#scanMeta-org.apache.hadoop.hbase.client.Connection-byte:A-byte:A-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-int-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-">scanMeta</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
         byte[]&nbsp;startRow,
@@ -846,7 +904,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Performs a scan of META table.</div>
 </td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#scanMeta-org.apache.hadoop.hbase.client.Connection-byte:A-byte:A-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-">scanMeta</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
         byte[]&nbsp;startRow,
@@ -854,7 +912,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
         <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a>&nbsp;type,
         <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#scanMeta-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-org.apache.hadoop.hbase.TableName-byte:A-int-">scanMeta</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
         <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor,
@@ -865,7 +923,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  given row.</div>
 </td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#scanMeta-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-int-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-">scanMeta</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
         <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
@@ -873,16 +931,17 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
         int&nbsp;maxRows,
         <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#scanMetaForTableRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-org.apache.hadoop.hbase.TableName-">scanMetaForTableRegions</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                        <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor,
                        <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#splitRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">splitRegion</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#splitRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">splitRegion</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+           long&nbsp;parentOpenSeqNum,
            <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitA,
            <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitB,
            <a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
@@ -890,14 +949,14 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Splits the region into two in an atomic operation.</div>
 </td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#tableExists-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Checks if the specified table exists.</div>
 </td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#updateLocation-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-long-long-">updateLocation</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
               <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -907,7 +966,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Updates the location of the specified region to be the specified server.</div>
 </td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#updateRegionLocation-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-long-long-">updateRegionLocation</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                     <a href="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -918,7 +977,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  and startcode.</div>
 </td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#updateTableState-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableState.State-">updateTableState</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                 <a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -926,7 +985,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">Updates state in META</div>
 </td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#updateTableState-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.TableState-">updateTableState</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                 <a href="../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a>&nbsp;state)</code>
@@ -961,7 +1020,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.137">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.140">LOG</a></pre>
 </li>
 </ul>
 <a name="METALOG">
@@ -970,7 +1029,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>METALOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.138">METALOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.141">METALOG</a></pre>
 </li>
 </ul>
 <a name="META_REGION_PREFIX">
@@ -979,7 +1038,42 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>META_REGION_PREFIX</h4>
-<pre>static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.140">META_REGION_PREFIX</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.143">META_REGION_PREFIX</a></pre>
+</li>
+</ul>
+<a name="REPLICATION_PARENT_QUALIFIER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_PARENT_QUALIFIER</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.153">REPLICATION_PARENT_QUALIFIER</a></pre>
+</li>
+</ul>
+<a name="REPLICATION_PARENT_SEPARATOR">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_PARENT_SEPARATOR</h4>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.155">REPLICATION_PARENT_SEPARATOR</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.MetaTableAccessor.REPLICATION_PARENT_SEPARATOR">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="REPLICATION_PARENT_SEPARATOR_REGEX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_PARENT_SEPARATOR_REGEX</h4>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.157">REPLICATION_PARENT_SEPARATOR_REGEX</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.MetaTableAccessor.REPLICATION_PARENT_SEPARATOR_REGEX">Constant Field Values</a></dd>
+</dl>
 </li>
 </ul>
 <a name="META_REPLICA_ID_DELIMITER">
@@ -988,7 +1082,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>META_REPLICA_ID_DELIMITER</h4>
-<pre>protected static final&nbsp;char <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.198">META_REPLICA_ID_DELIMITER</a></pre>
+<pre>protected static final&nbsp;char <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.206">META_REPLICA_ID_DELIMITER</a></pre>
 <div class="block">The delimiter for meta columns for replicaIds &gt; 0</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1002,7 +1096,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SERVER_COLUMN_PATTERN</h4>
-<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.201">SERVER_COLUMN_PATTERN</a></pre>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> <a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.209">SERVER_COLUMN_PATTERN</a></pre>
 <div class="block">A regex for parsing server columns from meta. See above javadoc for meta layout</div>
 </li>
 </ul>
@@ -1020,7 +1114,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MetaTableAccessor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.135">MetaTableAccessor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.138">MetaTableAccessor</a>()</pre>
 </li>
 </ul>
 </li>
@@ -1038,7 +1132,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <li class="blockList">
 <h4>allTableRegions</h4>
 <pre><a href="https://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="https://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="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.159">allTableRegions</a>(<a href="../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+public static&nbsp;<a href="https://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="../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/MetaTableAccessor.html#line.167">allTableRegions</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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegionsAndLocations-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.T

<TRUNCATED>

[18/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html
index df5fa53..8fffb89 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CloseableVisitor.html
@@ -42,1927 +42,2060 @@
 <span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.conf.Configuration;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Get;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Put;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.Result;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.Table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.slf4j.Logger;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.slf4j.LoggerFactory;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * AssignmentManager) we want permanent connection.<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * &lt;/p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * called default replica.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;pre&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * For each table there is single row in column family 'table' formatted:<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * table: state             =&gt; contains table state<a name="line.98"></a>
-<span class="sourceLineNo">099</span> *<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * For each table range, there is a single row, formatted like:<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * This row corresponds to the regionName of the default region replica.<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * Columns are:<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.104"></a>
-<span class="sourceLineNo">105</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *                            the default regionInfo replica<a name="line.106"></a>
-<span class="sourceLineNo">107</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *                                 the regionInfo replica with replicaId<a name="line.108"></a>
-<span class="sourceLineNo">109</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *                            hosting the default regionInfo replica<a name="line.110"></a>
-<span class="sourceLineNo">111</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.111"></a>
-<span class="sourceLineNo">112</span> *                                          the server hosting the regionInfo replica with<a name="line.112"></a>
-<span class="sourceLineNo">113</span> *                                          replicaId<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.114"></a>
-<span class="sourceLineNo">115</span> *                             the server opened the region with default replicaId<a name="line.115"></a>
-<span class="sourceLineNo">116</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.116"></a>
-<span class="sourceLineNo">117</span> *                                           at the time the server opened the region with<a name="line.117"></a>
-<span class="sourceLineNo">118</span> *                                           replicaId<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.119"></a>
-<span class="sourceLineNo">120</span> *                             region is split<a name="line.120"></a>
-<span class="sourceLineNo">121</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.121"></a>
-<span class="sourceLineNo">122</span> *                             region is split<a name="line.122"></a>
-<span class="sourceLineNo">123</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.123"></a>
-<span class="sourceLineNo">124</span> *                             region is the result of a merge<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.125"></a>
-<span class="sourceLineNo">126</span> *                             region is the result of a merge<a name="line.126"></a>
-<span class="sourceLineNo">127</span> * &lt;/pre&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> * &lt;/p&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.130"></a>
-<span class="sourceLineNo">131</span> * leak out of it (through Result objects, etc)<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * &lt;/p&gt;<a name="line.132"></a>
-<span class="sourceLineNo">133</span> */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>@InterfaceAudience.Private<a name="line.134"></a>
-<span class="sourceLineNo">135</span>public class MetaTableAccessor {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.138"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static final byte [] META_REGION_PREFIX;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  static {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    META_REGION_PREFIX = new byte [len];<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      META_REGION_PREFIX, 0, len);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Lists all of the table regions currently in META.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Deprecated, keep there until some test use this.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param connection what we will use<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param tableName table to list<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @return Map of all user-space regions to servers<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        RegionLocations locations = getRegionLocations(result);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (locations == null) return true;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          if (loc != null) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public enum QueryType {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    private final byte[][] families;<a name="line.186"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>    QueryType(byte[]... families) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return this.families;<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><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.198"></a>
+<span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  ////////////////////////<a name="line.206"></a>
+<span class="sourceLineNo">200</span>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param connection connection we're using<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static void fullScanRegions(Connection connection,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      final Visitor visitor)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param connection connection we're using<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      throws IOException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param connection connection we're using<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static void fullScanTables(Connection connection,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      final Visitor visitor)<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param connection connection we're using<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param type scanned part of meta<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return List of {@link Result}<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    scanMeta(connection, null, null, type, v);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param connection connection we're using to access Meta<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public static Table getMetaHTable(final Connection connection)<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (connection == null) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throw new NullPointerException("No connection");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    } else if (connection.isClosed()) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      throw new IOException("connection is closed");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return connection.getTable(TableName.META_TABLE_NAME);<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>   * @param t Table to use (will be closed when done).<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @param g Get to run<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (t == null) return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return t.get(g);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } finally {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      t.close();<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>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Gets the region info and assignment for the specified region.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param connection connection we're using<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param regionName Region to lookup.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Deprecated<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    throws IOException {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return location == null<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      ? null<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param connection connection we're using<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param regionName region we're looking for<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return HRegionLocation for the given region<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    byte[] row = regionName;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    RegionInfo parsedInfo = null;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    } catch (Exception parseEx) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Get get = new Get(row);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    Result r = get(getMetaHTable(connection), get);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    RegionLocations locations = getRegionLocations(r);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return locations == null ? null<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param connection connection we're using<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param regionInfo region information<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return HRegionLocation for the given region<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Get get = new Get(row);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Result r = get(getMetaHTable(connection), get);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * in the regionName.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>              .setStartKey(fields[1])<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              .setEndKey(fields[2])<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              .setSplit(false)<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              .setRegionId(regionId)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              .setReplicaId(replicaId)<a name="line.354"></a>
-<span class="sourceLineNo">355</span>              .build();<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>  /**<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * Gets the result in hbase:meta for the specified region.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param connection connection we're using<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param regionName region we're looking for<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return result of the specified region<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static Result getRegionResult(Connection connection,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      byte[] regionName) throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    Get get = new Get(regionName);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Nullable<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    Result result = getRegionResult(connection, regionName);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * the specified server.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @param connection connection we're using<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param tableName table to check<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @return true if the table exists in meta, false if not<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public static boolean tableExists(Connection connection,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      final TableName tableName)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  throws IOException {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Catalog tables always exist.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param connection to connect with<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @return List of all user-space regions.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @VisibleForTesting<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      boolean excludeOfflinedSplitParents)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        excludeOfflinedSplitParents);<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>    return getListOfRegionInfos(result);<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>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param connection connection we're using<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @param tableName table we're looking for<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param connection connection we're using<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @param tableName table we're looking for<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * parents in the return.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return getListOfRegionInfos(result);<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>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return Collections.emptyList();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      result.add(pair.getFirst());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return result;<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>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param tableName table we're working with<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * @return start row for scanning META according to query type<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (tableName == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return null;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    switch (type) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    case REGION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return startRow;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    case ALL:<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    case TABLE:<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    default:<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      return tableName.getName();<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>  /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param tableName table we're working with<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @return stop row for scanning META according to query type<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (tableName == null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    final byte[] stopRow;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    switch (type) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    case REGION:<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      break;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    case ALL:<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    case TABLE:<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    default:<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      break;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return stopRow;<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>   * This method creates a Scan object that will only scan catalog rows that<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This is a better alternative to just using a start row and scan until<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * name.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * @param tableName bytes of table's name<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @return configured Scan object<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  @Deprecated<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // Start key is just the table name with delimiters<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // Stop key appends the smallest possible char to the table name<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    Scan scan = getMetaScan(connection, -1);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    scan.setStartRow(startKey);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    scan.setStopRow(stopKey);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return scan;<a name="line.532"></a>
-<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>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    Scan scan = new Scan();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int scannerCaching = connection.getConfiguration()<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (rowUpperLimit &gt; 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      scan.setLimit(rowUpperLimit);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    scan.setCaching(scannerCaching);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param connection connection we're using<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * @param tableName table we're looking for<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return Return list of regioninfos and server.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   */<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return getTableRegionsAndLocations(connection, tableName, true);<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param connection connection we're using<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return Return list of regioninfos and server addresses.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @throws IOException<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      Connection connection, @Nullable final TableName tableName,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        + " use MetaTableLocator instead");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        private RegionLocations current = null;<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>        @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        public boolean visit(Result r) throws IOException {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          current = getRegionLocations(r);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            return true;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Else call super and add this Result to the collection.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          return super.visit(r);<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>        @Override<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        void add(Result r) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>          if (current == null) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>            return;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>            if (loc != null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    scanMeta(connection,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        QueryType.REGION, visitor);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return visitor.getResults();<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>  /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param connection connection we're using<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param serverName server whose regions we're interested in<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @return List of user regions installed on this server (does not include<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * catalog regions).<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @throws IOException<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    // servername.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      @Override<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      void add(Result r) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        if (r == null || r.isEmpty()) return;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        RegionLocations locations = getRegionLocations(r);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        if (locations == null) return;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          if (loc != null) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>              hris.put(loc.getRegion(), r);<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>      }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    };<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    return hris;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    throws IOException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Visitor v = new Visitor() {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      @Override<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      public boolean visit(Result r) throws IOException {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        TableState state = getTableState(r);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (state != null) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          LOG.info("Table State: " + state);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        } else {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          RegionLocations locations = getRegionLocations(r);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          if (locations == null) return true;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            if (loc != null) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        }<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Performs a scan of META table for given table starting from<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * given row.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   *<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param connection connection we're using<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param visitor    visitor to call<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableName  table withing we scan<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param row        start scan from this row<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param rowLimit   max number of rows to return<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static void scanMeta(Connection connection,<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      final Visitor visitor, final TableName tableName,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final byte[] row, final int rowLimit)<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      throws IOException {<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    byte[] startRow = null;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    byte[] stopRow = null;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    if (tableName != null) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      startRow =<a name="line.709"></a>
-<span class="sourceLineNo">710</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      if (row != null) {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        RegionInfo closestRi =<a name="line.712"></a>
-<span class="sourceLineNo">713</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        startRow = RegionInfo<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      stopRow =<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<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><a name="line.723"></a>
-<span class="sourceLineNo">724</span>  /**<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * Performs a scan of META table.<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * @param connection connection we're using<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *                 at first row.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stopRow Where to stop the scan. Pass null if want to scan all

<TRUNCATED>

[23/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/util/FSUtils.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.html b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.html
index 42307d2..2ade137 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/FSUtils.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/FSUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":6,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":6,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -429,6 +429,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 </td>
 </tr>
 <tr id="i22" class="altColor">
+<td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir</a></span>(org.apache.hadoop.fs.Path&nbsp;tableDir,
+            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionDirs</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
              org.apache.hadoop.fs.Path&nbsp;tableDir)</code>
@@ -436,7 +441,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  .tableinfo</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-java.lang.String-int-java.util.Map-java.util.Map-">getRegionLocalityMappingFromFS</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desiredTable,
@@ -449,17 +454,17 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  one block of that region.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionReferenceFileCount-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionReferenceFileCount</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                            org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableDirs</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
             org.apache.hadoop.fs.Path&nbsp;rootdir)</code>&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableFragmentation</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                      org.apache.hadoop.fs.Path&nbsp;hbaseRootDir)</code>
@@ -467,14 +472,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  have more than one file in them.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.hbase.master.HMaster-">getTableFragmentation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</code>
 <div class="block">Runs through the HBase rootdir and checks how many stores for each table
  have more than one file in them.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableStoreFilePathMap</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                         org.apache.hadoop.fs.Path&nbsp;hbaseRootDir)</code>
@@ -482,7 +487,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  table StoreFile names to the full Path.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                         org.apache.hadoop.fs.Path&nbsp;hbaseRootDir,
@@ -493,7 +498,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  table StoreFile names to the full Path.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-">getTableStoreFilePathMap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://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.fs.Path&gt;&nbsp;map,
                         org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -503,7 +508,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  table StoreFile names to the full Path.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://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.fs.Path&gt;&nbsp;resultMap,
                         org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -516,38 +521,38 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  table StoreFile names to the full Path.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTotalTableFragmentation-org.apache.hadoop.hbase.master.HMaster-">getTotalTableFragmentation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</code>
 <div class="block">Returns the total overall fragmentation percentage.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getVersion</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;rootdir)</code>
 <div class="block">Verifies current version of file system</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isDistributedFileSystem-org.apache.hadoop.fs.FileSystem-">isDistributedFileSystem</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isInSafeMode-org.apache.hadoop.hdfs.DistributedFileSystem-">isInSafeMode</a></span>(org.apache.hadoop.hdfs.DistributedFileSystem&nbsp;dfs)</code>
 <div class="block">We use reflection because <code>DistributedFileSystem.setSafeMode(
  HdfsConstants.SafeModeAction action, boolean isChecked)</code> is not in hadoop 1.1</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isMatchingTail-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">isMatchingTail</a></span>(org.apache.hadoop.fs.Path&nbsp;pathToSearch,
               org.apache.hadoop.fs.Path&nbsp;pathTail)</code>
 <div class="block">Compare path component of the Path URI; e.g.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#listStatusWithStatusFilter-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.util.FileStatusFilter-">listStatusWithStatusFilter</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                           org.apache.hadoop.fs.Path&nbsp;dir,
@@ -558,20 +563,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  while Hadoop 2 will throw FileNotFoundException.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#metaRegionExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">metaRegionExists</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                 org.apache.hadoop.fs.Path&nbsp;rootdir)</code>
 <div class="block">Checks if meta region exists</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#parseVersionFrom-byte:A-">parseVersionFrom</a></span>(byte[]&nbsp;bytes)</code>
 <div class="block">Parse the content of the ${HBASE_ROOTDIR}/hbase.version file.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#recoverFileLease-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.util.CancelableProgressable-">recoverFileLease</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                 org.apache.hadoop.fs.Path&nbsp;p,
@@ -580,14 +585,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <div class="block">Recover file lease.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#rewriteAsPb-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.ClusterId-">rewriteAsPb</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
            org.apache.hadoop.fs.Path&nbsp;rootdir,
            org.apache.hadoop.fs.Path&nbsp;p,
            <a href="../../../../../org/apache/hadoop/hbase/ClusterId.html" title="class in org.apache.hadoop.hbase">ClusterId</a>&nbsp;cid)</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.ClusterId-int-">setClusterId</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
             org.apache.hadoop.fs.Path&nbsp;rootdir,
@@ -597,20 +602,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
  in the HBase root directory</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setupShortCircuitRead-org.apache.hadoop.conf.Configuration-">setupShortCircuitRead</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Do our short circuit read setup.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">setVersion</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;rootdir)</code>
 <div class="block">Sets version of file system</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-int-">setVersion</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;rootdir,
@@ -619,7 +624,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <div class="block">Sets version of file system</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-int-int-">setVersion</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;rootdir,
@@ -629,13 +634,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <div class="block">Sets version of file system</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>(package private) static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#toVersionByteArray-java.lang.String-">toVersionByteArray</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;version)</code>
 <div class="block">Create the content to write into the ${HBASE_ROOTDIR}/hbase.version file.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#waitOnSafeMode-org.apache.hadoop.conf.Configuration-long-">waitOnSafeMode</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
               long&nbsp;wait)</code>
@@ -1389,13 +1394,23 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 </dl>
 </li>
 </ul>
+<a name="getRegionDir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRegionDir</h4>
+<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1031">getRegionDir</a>(org.apache.hadoop.fs.Path&nbsp;tableDir,
+                                                     <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
+</li>
+</ul>
 <a name="getFamilyDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyDirs</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1070">getFamilyDirs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1074">getFamilyDirs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                             org.apache.hadoop.fs.Path&nbsp;regionDir)
                                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Given a particular region dir, return all the familydirs inside it</div>
@@ -1416,7 +1431,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getReferenceFilePaths</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1081">getReferenceFilePaths</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1085">getReferenceFilePaths</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                     org.apache.hadoop.fs.Path&nbsp;familyDir)
                                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1431,7 +1446,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableStoreFilePathMap</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1173">getTableStoreFilePathMap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://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.fs.Path&gt;&nbsp;map,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1177">getTableStoreFilePathMap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://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.fs.Path&gt;&nbsp;map,
                                                                              org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                              org.apache.hadoop.fs.Path&nbsp;hbaseRootDir,
                                                                              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
@@ -1463,7 +1478,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableStoreFilePathMap</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1201">getTableStoreFilePathMap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://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.fs.Path&gt;&nbsp;resultMap,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1205">getTableStoreFilePathMap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://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.fs.Path&gt;&nbsp;resultMap,
                                                                              org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                              org.apache.hadoop.fs.Path&nbsp;hbaseRootDir,
                                                                              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1504,7 +1519,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionReferenceFileCount</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1316">getRegionReferenceFileCount</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1320">getRegionReferenceFileCount</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                               org.apache.hadoop.fs.Path&nbsp;p)</pre>
 </li>
 </ul>
@@ -1514,7 +1529,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableStoreFilePathMap</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1342">getTableStoreFilePathMap</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1346">getTableStoreFilePathMap</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                              org.apache.hadoop.fs.Path&nbsp;hbaseRootDir)
                                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -1542,7 +1557,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableStoreFilePathMap</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1365">getTableStoreFilePathMap</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1369">getTableStoreFilePathMap</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                              org.apache.hadoop.fs.Path&nbsp;hbaseRootDir,
                                                                              org.apache.hadoop.fs.PathFilter&nbsp;sfFilter,
                                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executor,
@@ -1576,7 +1591,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterFileStatuses</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1389">filterFileStatuses</a>(org.apache.hadoop.fs.FileStatus[]&nbsp;input,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1393">filterFileStatuses</a>(org.apache.hadoop.fs.FileStatus[]&nbsp;input,
                                                                        <a href="../../../../../org/apache/hadoop/hbase/util/FileStatusFilter.html" title="interface in org.apache.hadoop.hbase.util">FileStatusFilter</a>&nbsp;filter)</pre>
 <div class="block">Filters FileStatuses in an array and returns a list</div>
 <dl>
@@ -1594,7 +1609,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterFileStatuses</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1402">filterFileStatuses</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;input,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1406">filterFileStatuses</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;input,
                                                                        <a href="../../../../../org/apache/hadoop/hbase/util/FileStatusFilter.html" title="interface in org.apache.hadoop.hbase.util">FileStatusFilter</a>&nbsp;filter)</pre>
 <div class="block">Filters FileStatuses in an iterator and returns a list</div>
 <dl>
@@ -1612,7 +1627,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>listStatusWithStatusFilter</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1426">listStatusWithStatusFilter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1430">listStatusWithStatusFilter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                                org.apache.hadoop.fs.Path&nbsp;dir,
                                                                                <a href="../../../../../org/apache/hadoop/hbase/util/FileStatusFilter.html" title="interface in org.apache.hadoop.hbase.util">FileStatusFilter</a>&nbsp;filter)
                                                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1638,7 +1653,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAccess</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1464">checkAccess</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1468">checkAccess</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
                                org.apache.hadoop.fs.FileStatus&nbsp;file,
                                org.apache.hadoop.fs.permission.FsAction&nbsp;action)
                         throws <a href="../../../../../org/apache/hadoop/hbase/security/AccessDeniedException.html" title="class in org.apache.hadoop.hbase.security">AccessDeniedException</a></pre>
@@ -1659,7 +1674,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>contains</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1481">contains</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;groups,
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1485">contains</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;groups,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user)</pre>
 </li>
 </ul>
@@ -1669,7 +1684,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionDegreeLocalityMappingFromFS</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1503">getRegionDegreeLocalityMappingFromFS</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1507">getRegionDegreeLocalityMappingFromFS</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                                                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This function is to scan the root path of the file system to get the
  degree of locality for each region on each of the servers having at least
@@ -1692,7 +1707,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionDegreeLocalityMappingFromFS</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1527">getRegionDegreeLocalityMappingFromFS</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1531">getRegionDegreeLocalityMappingFromFS</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desiredTable,
                                                                                  int&nbsp;threadPoolSize)
                                                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1718,7 +1733,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionLocalityMappingFromFS</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1556">getRegionLocalityMappingFromFS</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1560">getRegionLocalityMappingFromFS</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;desiredTable,
                                                    int&nbsp;threadPoolSize,
                                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;regionToBestLocalityRSMapping,
@@ -1747,7 +1762,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>setupShortCircuitRead</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1666">setupShortCircuitRead</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1670">setupShortCircuitRead</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Do our short circuit read setup.
  Checks buffer size to use and whether to do checksumming in hbase or hdfs.</div>
 <dl>
@@ -1762,7 +1777,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>checkShortCircuitReadBufferSize</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1684">checkShortCircuitReadBufferSize</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1688">checkShortCircuitReadBufferSize</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Check if short circuit read buffer size is set and if not, set it to hbase value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1776,7 +1791,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getDFSHedgedReadMetrics</h4>
-<pre>public static&nbsp;org.apache.hadoop.hdfs.DFSHedgedReadMetrics&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1702">getDFSHedgedReadMetrics</a>(org.apache.hadoop.conf.Configuration&nbsp;c)
+<pre>public static&nbsp;org.apache.hadoop.hdfs.DFSHedgedReadMetrics&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/FSUtils.html#line.1706">getDFSHedgedReadMetrics</a>(org.apache.hadoop.conf.Configuration&nbsp;c)
                                                                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/wal/WALKeyImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALKeyImpl.html b/devapidocs/org/apache/hadoop/hbase/wal/WALKeyImpl.html
index 476f2fe..6f6c103 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALKeyImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALKeyImpl.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":42,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":42,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -350,30 +350,34 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" titl
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#clearReplicationScope--">clearReplicationScope</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#compareTo-org.apache.hadoop.hbase.wal.WALKey-">compareTo</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;o)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#estimatedSerializedSizeOf--">estimatedSerializedSizeOf</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey.Builder</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getBuilder-org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringCompressor-">getBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringCompressor</a>&nbsp;compressor)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getClusterIds--">getClusterIds</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getEncodedRegionName--">getEncodedRegionName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getLogSeqNum--">getLogSeqNum</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -381,58 +385,62 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" titl
 </div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getMvcc--">getMvcc</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getNonce--">getNonce</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getNonceGroup--">getNonceGroup</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getOriginatingClusterId--">getOriginatingClusterId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getOrigLogSeqNum--">getOrigLogSeqNum</a></span>()</code>
 <div class="block">Return a positive long if current WALKeyImpl is created from a replay edit; a replay edit is an
  edit that came in when replaying WALs of a crashed server.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getReplicationScopes--">getReplicationScopes</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getSequenceId--">getSequenceId</a></span>()</code>
 <div class="block">SequenceId is only available post WAL-assign.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" 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"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getTableName--">getTableName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getWriteEntry--">getWriteEntry</a></span>()</code>
 <div class="block">Use it to complete mvcc transaction.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getWriteTime--">getWriteTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#hasSerialReplicationScope--">hasSerialReplicationScope</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#init-byte:A-org.apache.hadoop.hbase.TableName-long-long-java.util.List-long-long-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl-java.util.NavigableMap-">init</a></span>(byte[]&nbsp;encodedRegionName,
     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename,
@@ -444,52 +452,48 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" titl
     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;mvcc,
     <a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;replicationScope)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#internEncodedRegionName-byte:A-">internEncodedRegionName</a></span>(byte[]&nbsp;encodedRegionName)</code>
 <div class="block">Drop this instance's region name byte array and instead
  hold a reference to the provided region name.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#internTableName-org.apache.hadoop.hbase.TableName-">internTableName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</code>
 <div class="block">Drop this instance's tablename byte array and instead
  hold a reference to the provided tablename.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#readFieldsFromPb-org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey-org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.ByteStringUncompressor-">readFieldsFromPb</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey&nbsp;walKey,
                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringUncompressor</a>&nbsp;uncompressor)</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#serializeReplicationScope-boolean-">serializeReplicationScope</a></span>(boolean&nbsp;serialize)</code>&nbsp;</td>
-</tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#setCompressionContext-org.apache.hadoop.hbase.regionserver.wal.CompressionContext-">setCompressionContext</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a>&nbsp;compressionContext)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#setOrigLogSeqNum-long-">setOrigLogSeqNum</a></span>(long&nbsp;sequenceId)</code>
 <div class="block">Used to set original sequenceId for WALKeyImpl during WAL replay</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#setReplicationScope-java.util.NavigableMap-">setReplicationScope</a></span>(<a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;replicationScope)</code>&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#setSequenceId-long-">setSequenceId</a></span>(long&nbsp;sequenceId)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#setWriteEntry-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-">setWriteEntry</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -1122,13 +1126,22 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.414">setReplicationScope</a>(<a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;replicationScope)</pre>
 </li>
 </ul>
-<a name="serializeReplicationScope-boolean-">
+<a name="clearReplicationScope--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clearReplicationScope</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.418">clearReplicationScope</a>()</pre>
+</li>
+</ul>
+<a name="hasSerialReplicationScope--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serializeReplicationScope</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.418">serializeReplicationScope</a>(boolean&nbsp;serialize)</pre>
+<h4>hasSerialReplicationScope</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.422">hasSerialReplicationScope</a>()</pre>
 </li>
 </ul>
 <a name="addClusterId-java.util.UUID-">
@@ -1137,7 +1150,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>addClusterId</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.427">addClusterId</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;clusterId)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.433">addClusterId</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;clusterId)</pre>
 <div class="block">Marks that the cluster with the given clusterId has consumed the change</div>
 </li>
 </ul>
@@ -1147,7 +1160,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterIds</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://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/wal/WALKeyImpl.html#line.436">getClusterIds</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://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/wal/WALKeyImpl.html#line.442">getClusterIds</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the set of cluster Ids that have consumed the change</dd>
@@ -1160,7 +1173,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getOriginatingClusterId</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.445">getOriginatingClusterId</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.451">getOriginatingClusterId</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getOriginatingClusterId--">getOriginatingClusterId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a></code></dd>
@@ -1176,7 +1189,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.450">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.456">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1189,7 +1202,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.455">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.461">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1202,7 +1215,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.466">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.472">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -1215,7 +1228,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.474">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;o)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.480">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://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="https://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/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&gt;</code></dd>
@@ -1228,7 +1241,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>internTableName</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.502">internTableName</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.508">internTableName</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</pre>
 <div class="block">Drop this instance's tablename byte array and instead
  hold a reference to the provided tablename. This is not
  meant to be a general purpose setter - it's only used
@@ -1241,7 +1254,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>internEncodedRegionName</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.515">internEncodedRegionName</a>(byte[]&nbsp;encodedRegionName)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.521">internEncodedRegionName</a>(byte[]&nbsp;encodedRegionName)</pre>
 <div class="block">Drop this instance's region name byte array and instead
  hold a reference to the provided region name. This is not
  meant to be a general purpose setter - it's only used
@@ -1254,7 +1267,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>getBuilder</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey.Builder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.522">getBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringCompressor</a>&nbsp;compressor)
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey.Builder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.528">getBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringCompressor</a>&nbsp;compressor)
                                                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1268,7 +1281,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockList">
 <li class="blockList">
 <h4>readFieldsFromPb</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.563">readFieldsFromPb</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey&nbsp;walKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.569">readFieldsFromPb</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey&nbsp;walKey,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.ByteStringUncompressor</a>&nbsp;uncompressor)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1283,7 +1296,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/w
 <ul class="blockListLast">
 <li class="blockList">
 <h4>estimatedSerializedSizeOf</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.603">estimatedSerializedSizeOf</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKeyImpl.html#line.609">estimatedSerializedSizeOf</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#estimatedSerializedSizeOf--">estimatedSerializedSizeOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a></code></dd>


[51/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.


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

Branch: refs/heads/asf-site
Commit: 6b94a2f26666ddec93126d2fd9641a8804f02277
Parents: d77bb87
Author: jenkins <bu...@apache.org>
Authored: Mon Mar 5 14:53:15 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Mon Mar 5 14:53:15 2018 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |     6 +-
 apidocs/constant-values.html                    |    30 +-
 apidocs/index-all.html                          |    20 +
 apidocs/org/apache/hadoop/hbase/HConstants.html |   584 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |   312 +-
 .../hadoop/hbase/client/TableDescriptor.html    |    41 +-
 .../org/apache/hadoop/hbase/HConstants.html     |  1592 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |  1697 +-
 .../hadoop/hbase/client/TableDescriptor.html    |   132 +-
 .../hbase/client/TableDescriptorBuilder.html    |   717 +-
 book.html                                       |     2 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       | 24694 ++++++++---------
 checkstyle.rss                                  |    76 +-
 coc.html                                        |     4 +-
 cygwin.html                                     |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |     4 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/allclasses-frame.html                |     4 +-
 devapidocs/allclasses-noframe.html              |     4 +-
 devapidocs/constant-values.html                 |    76 +-
 devapidocs/index-all.html                       |   221 +-
 .../org/apache/hadoop/hbase/HConstants.html     |   586 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |   312 +-
 .../MetaTableAccessor.CloseableVisitor.html     |     2 +-
 .../MetaTableAccessor.CollectAllVisitor.html    |     6 +-
 .../MetaTableAccessor.CollectingVisitor.html    |    12 +-
 .../MetaTableAccessor.DefaultVisitorBase.html   |     8 +-
 .../hbase/MetaTableAccessor.QueryType.html      |    16 +-
 ...aTableAccessor.ReplicationBarrierResult.html |   368 +
 .../MetaTableAccessor.TableVisitorBase.html     |    12 +-
 .../hadoop/hbase/MetaTableAccessor.Visitor.html |     4 +-
 .../apache/hadoop/hbase/MetaTableAccessor.html  |   610 +-
 .../hadoop/hbase/backup/package-tree.html       |     4 +-
 .../org/apache/hadoop/hbase/class-use/Cell.html |   202 +-
 ...aTableAccessor.ReplicationBarrierResult.html |   195 +
 .../apache/hadoop/hbase/class-use/Server.html   |    13 +
 .../hadoop/hbase/class-use/ServerName.html      |     9 +-
 .../hadoop/hbase/class-use/TableName.html       |    49 +-
 .../hbase/client/ImmutableHTableDescriptor.html |     2 +-
 .../hadoop/hbase/client/TableDescriptor.html    |    41 +-
 ...riptorBuilder.ModifyableTableDescriptor.html |   138 +-
 .../hbase/client/class-use/Connection.html      |    27 +-
 .../hadoop/hbase/client/class-use/Mutation.html |     2 +-
 .../hadoop/hbase/client/class-use/Put.html      |    18 +-
 .../hbase/client/class-use/RegionInfo.html      |   229 +-
 .../hadoop/hbase/client/class-use/Result.html   |     8 +
 .../hadoop/hbase/client/class-use/Table.html    |     2 +-
 .../hbase/client/class-use/TableDescriptor.html |     4 +
 .../hadoop/hbase/client/package-tree.html       |    24 +-
 .../hadoop/hbase/filter/package-tree.html       |    12 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     6 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |     2 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     4 +-
 .../hadoop/hbase/master/MasterFileSystem.html   |    55 +-
 .../master/assignment/AssignmentManager.html    |    42 +-
 .../master/assignment/RegionStateStore.html     |   101 +-
 .../assignment/SplitTableRegionProcedure.html   |    10 +-
 .../master/class-use/RegionState.State.html     |    39 +
 .../hadoop/hbase/master/package-tree.html       |     6 +-
 .../AbstractStateMachineTableProcedure.html     |    32 +-
 .../procedure/class-use/MasterProcedureEnv.html |     2 +-
 .../hbase/master/procedure/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/package-frame.html  |     1 +
 .../apache/hadoop/hbase/package-summary.html    |   108 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    15 +-
 .../org/apache/hadoop/hbase/package-use.html    |    80 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     4 +-
 .../hadoop/hbase/quotas/package-tree.html       |     6 +-
 .../hbase/regionserver/HRegionFileSystem.html   |   163 +-
 .../hadoop/hbase/regionserver/package-tree.html |    14 +-
 .../regionserver/querymatcher/package-tree.html |     2 +-
 .../NamespaceTableCfWALEntryFilter.html         |    29 +-
 .../hbase/replication/ScopeWALEntryFilter.html  |    12 +-
 .../class-use/BulkLoadCellFilter.html           |     2 +-
 .../class-use/ReplicationQueueStorage.html      |    17 +
 .../RecoveredReplicationSource.html             |    29 +-
 .../RecoveredReplicationSourceShipper.html      |    39 +-
 .../RecoveredReplicationSourceWALReader.html    |    25 +-
 .../regionserver/ReplicationSource.html         |    79 +-
 .../ReplicationSourceInterface.html             |    35 +-
 .../regionserver/ReplicationSourceManager.html  |     6 +-
 .../ReplicationSourceShipper.WorkerState.html   |    12 +-
 .../regionserver/ReplicationSourceShipper.html  |    70 +-
 .../ReplicationSourceWALActionListener.html     |    21 +-
 ...eplicationSourceWALReader.WALEntryBatch.html |   557 -
 .../ReplicationSourceWALReader.html             |   103 +-
 .../regionserver/ReplicationSyncUp.html         |     4 +-
 .../regionserver/ReplicationThrottler.html      |     4 +-
 .../regionserver/SerialReplicationChecker.html  |   593 +
 .../SourceFSConfigurationProvider.html          |     8 +-
 .../replication/regionserver/WALEntryBatch.html |   610 +
 .../regionserver/WALEntrySinkFilter.html        |     4 +-
 .../regionserver/WALEntryStream.html            |   117 +-
 .../class-use/ReplicationSource.html            |     4 +
 ...eplicationSourceWALReader.WALEntryBatch.html |   217 -
 .../class-use/SerialReplicationChecker.html     |   165 +
 .../regionserver/class-use/WALEntryBatch.html   |   206 +
 .../regionserver/class-use/WALEntryStream.html  |     2 +-
 .../replication/regionserver/package-frame.html |     3 +-
 .../regionserver/package-summary.html           |    25 +-
 .../replication/regionserver/package-tree.html  |     5 +-
 .../replication/regionserver/package-use.html   |    24 +-
 .../hadoop/hbase/rest/model/package-tree.html   |     2 +-
 .../hbase/security/access/package-tree.html     |     2 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../apache/hadoop/hbase/util/FSHDFSUtils.html   |     2 +-
 .../apache/hadoop/hbase/util/FSMapRUtils.html   |     2 +-
 .../hadoop/hbase/util/FSTableDescriptors.html   |    68 +-
 .../hbase/util/FSUtils.FamilyDirFilter.html     |     8 +-
 .../hadoop/hbase/util/FSUtils.HFileFilter.html  |     8 +-
 .../hbase/util/FSUtils.HFileLinkFilter.html     |     6 +-
 .../hbase/util/FSUtils.ReferenceFileFilter.html |     8 +-
 .../org/apache/hadoop/hbase/util/FSUtils.html   |   105 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    10 +-
 .../org/apache/hadoop/hbase/wal/WALKeyImpl.html |   107 +-
 .../hadoop/hbase/wal/class-use/WAL.Entry.html   |    34 +-
 devapidocs/overview-tree.html                   |     4 +-
 .../hbase/HConstants.OperationStatusCode.html   |  1592 +-
 .../org/apache/hadoop/hbase/HConstants.html     |  1592 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |  1697 +-
 .../MetaTableAccessor.CloseableVisitor.html     |  3903 +--
 .../MetaTableAccessor.CollectAllVisitor.html    |  3903 +--
 .../MetaTableAccessor.CollectingVisitor.html    |  3903 +--
 .../MetaTableAccessor.DefaultVisitorBase.html   |  3903 +--
 .../hbase/MetaTableAccessor.QueryType.html      |  3903 +--
 ...aTableAccessor.ReplicationBarrierResult.html |  2162 ++
 .../MetaTableAccessor.TableVisitorBase.html     |  3903 +--
 .../hadoop/hbase/MetaTableAccessor.Visitor.html |  3903 +--
 .../apache/hadoop/hbase/MetaTableAccessor.html  |  3903 +--
 .../org/apache/hadoop/hbase/Version.html        |     6 +-
 .../hadoop/hbase/client/TableDescriptor.html    |   132 +-
 ...riptorBuilder.ModifyableTableDescriptor.html |   717 +-
 .../hbase/client/TableDescriptorBuilder.html    |   717 +-
 .../hadoop/hbase/master/MasterFileSystem.html   |   487 +-
 ...signmentManager.RegionInTransitionChore.html |   761 +-
 ...ssignmentManager.RegionInTransitionStat.html |   761 +-
 .../master/assignment/AssignmentManager.html    |   761 +-
 .../RegionStateStore.RegionStateVisitor.html    |   398 +-
 .../master/assignment/RegionStateStore.html     |   398 +-
 ...tTableRegionProcedure.StoreFileSplitter.html |     4 +-
 .../assignment/SplitTableRegionProcedure.html   |     4 +-
 .../AbstractStateMachineTableProcedure.html     |   187 +-
 .../hbase/regionserver/HRegionFileSystem.html   |  2369 +-
 .../NamespaceTableCfWALEntryFilter.html         |   278 +-
 .../hbase/replication/ScopeWALEntryFilter.html  |    96 +-
 .../RecoveredReplicationSource.html             |     7 +-
 .../RecoveredReplicationSourceShipper.html      |   290 +-
 .../RecoveredReplicationSourceWALReader.html    |    31 +-
 .../ReplicationSource.LogsComparator.html       |    10 +-
 .../regionserver/ReplicationSource.html         |    10 +-
 .../ReplicationSourceInterface.html             |     9 +-
 ...icationSourceManager.NodeFailoverWorker.html |     4 +-
 ...SourceManager.ReplicationQueueOperation.html |     4 +-
 .../regionserver/ReplicationSourceManager.html  |     4 +-
 .../ReplicationSourceShipper.WorkerState.html   |   577 +-
 .../regionserver/ReplicationSourceShipper.html  |   577 +-
 .../ReplicationSourceWALActionListener.html     |   143 +-
 ...eplicationSourceWALReader.WALEntryBatch.html |   527 -
 .../ReplicationSourceWALReader.html             |   702 +-
 .../regionserver/SerialReplicationChecker.html  |   327 +
 .../replication/regionserver/WALEntryBatch.html |   210 +
 .../regionserver/WALEntryStream.html            |   789 +-
 .../hadoop/hbase/util/FSTableDescriptors.html   |  1168 +-
 .../hbase/util/FSUtils.BlackListDirFilter.html  |  1524 +-
 .../hadoop/hbase/util/FSUtils.DirFilter.html    |  1524 +-
 .../hbase/util/FSUtils.FamilyDirFilter.html     |  1524 +-
 .../hadoop/hbase/util/FSUtils.FileFilter.html   |  1524 +-
 .../hadoop/hbase/util/FSUtils.HFileFilter.html  |  1524 +-
 .../hbase/util/FSUtils.HFileLinkFilter.html     |  1524 +-
 .../hbase/util/FSUtils.ReferenceFileFilter.html |  1524 +-
 .../hbase/util/FSUtils.RegionDirFilter.html     |  1524 +-
 .../hbase/util/FSUtils.UserTableDirFilter.html  |  1524 +-
 .../org/apache/hadoop/hbase/util/FSUtils.html   |  1524 +-
 .../org/apache/hadoop/hbase/wal/WALKeyImpl.html |   418 +-
 export_control.html                             |     4 +-
 index.html                                      |     4 +-
 integration.html                                |     4 +-
 issue-tracking.html                             |     4 +-
 license.html                                    |     4 +-
 mail-lists.html                                 |     4 +-
 metrics.html                                    |     4 +-
 old_news.html                                   |     4 +-
 plugin-management.html                          |     4 +-
 plugins.html                                    |     4 +-
 poweredbyhbase.html                             |     4 +-
 project-info.html                               |     4 +-
 project-reports.html                            |     4 +-
 project-summary.html                            |     4 +-
 pseudo-distributed.html                         |     4 +-
 replication.html                                |     4 +-
 resources.html                                  |     4 +-
 source-repository.html                          |     4 +-
 sponsors.html                                   |     4 +-
 supportingprojects.html                         |     4 +-
 team-list.html                                  |     4 +-
 testdevapidocs/allclasses-frame.html            |     3 +
 testdevapidocs/allclasses-noframe.html          |     3 +
 testdevapidocs/index-all.html                   |    92 +
 ...estMetaTableAccessor.SpyingRpcScheduler.html |     8 +-
 ...TableAccessor.SpyingRpcSchedulerFactory.html |     6 +-
 .../hadoop/hbase/TestMetaTableAccessor.html     |    10 +-
 .../hadoop/hbase/backup/package-tree.html       |     2 +-
 .../hbase/class-use/HBaseClassTestRule.html     |    42 +-
 .../hbase/class-use/HBaseTestingUtility.html    |    36 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../hadoop/hbase/procedure/package-tree.html    |     8 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     4 +-
 .../TestHRegionFileSystem.MockFileSystem.html   |    34 +-
 ...egionFileSystem.MockFileSystemForCreate.html |     6 +-
 .../regionserver/TestHRegionFileSystem.html     |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |     6 +-
 .../replication/ReplicationSourceDummy.html     |     7 +
 .../TestReplicationDroppedTables.html           |    24 +-
 ...WithTags.TestCoprocessorForTagsAtSource.html |     4 +-
 ...ialReplication.LocalReplicationEndpoint.html |   449 +
 .../replication/TestSerialReplication.html      |   523 +
 .../replication/TestVerifyReplication.html      |     4 +-
 ...ialReplication.LocalReplicationEndpoint.html |   125 +
 .../class-use/TestSerialReplication.html        |   125 +
 .../hadoop/hbase/replication/package-frame.html |     2 +
 .../hbase/replication/package-summary.html      |     8 +
 .../hadoop/hbase/replication/package-tree.html  |     2 +
 ...er.FailInitializeDummyReplicationSource.html |     7 +
 ...cationEndpointForTest.ReplicatorForTest.html |     4 +-
 .../TestSerialReplicationChecker.html           |   568 +
 .../TestSourceFSConfigurationProvider.html      |     4 +-
 .../TestWALEntryStream.PathWatcher.html         |     8 +-
 .../regionserver/TestWALEntryStream.html        |    30 +-
 .../class-use/TestSerialReplicationChecker.html |   125 +
 .../replication/regionserver/package-frame.html |     1 +
 .../regionserver/package-summary.html           |    12 +-
 .../replication/regionserver/package-tree.html  |     1 +
 .../apache/hadoop/hbase/test/package-tree.html  |     4 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     4 +-
 testdevapidocs/overview-tree.html               |     3 +
 .../hbase/TestMetaTableAccessor.MetaTask.html   |   610 +-
 ...estMetaTableAccessor.SpyingRpcScheduler.html |   610 +-
 ...TableAccessor.SpyingRpcSchedulerFactory.html |   610 +-
 .../hadoop/hbase/TestMetaTableAccessor.html     |   610 +-
 .../TestHRegionFileSystem.MockFileSystem.html   |   282 +-
 ...egionFileSystem.MockFileSystemForCreate.html |   282 +-
 .../regionserver/TestHRegionFileSystem.html     |   282 +-
 .../regionserver/TestRegionServerMetrics.html   |     4 +-
 .../TestReplicationDroppedTables.html           |   530 +-
 ...ialReplication.LocalReplicationEndpoint.html |   306 +
 .../replication/TestSerialReplication.html      |   306 +
 ...onSourceManager.DummyNodeFailoverWorker.html |     2 +-
 ...estReplicationSourceManager.DummyServer.html |     2 +-
 ...er.FailInitializeDummyReplicationSource.html |     2 +-
 .../TestReplicationSourceManager.html           |     2 +-
 .../TestSerialReplicationChecker.html           |   248 +
 .../TestWALEntryStream.PathWatcher.html         |   587 +-
 .../regionserver/TestWALEntryStream.html        |   587 +-
 257 files changed, 60716 insertions(+), 52180 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index a8a25c3..99819db 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="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -594,7 +594,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-03-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-03-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 1e6db07..67dd7f2 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20180304055044+00'00')
-/CreationDate (D:20180304055044+00'00')
+/ModDate (D:20180305144640+00'00')
+/CreationDate (D:20180305144640+00'00')
 >>
 endobj
 2 0 obj
@@ -28014,7 +28014,7 @@ endobj
 endobj
 136 0 obj
 << /Limits [(__anchor-top) (adding.new.node)]
-/Names [(__anchor-top) 25 0 R (__indexterm-7397970) 3449 0 R (__indexterm-7400374) 3451 0 R (__indexterm-7401914) 3453 0 R (__indexterm-7404098) 3454 0 R (acid) 911 0 R (acl) 3270 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3552 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3554 0 R (add.metrics) 3550 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3792 0 R (adding.new.node) 3019 0 R]
+/Names [(__anchor-top) 25 0 R (__indexterm-7397968) 3449 0 R (__indexterm-7400372) 3451 0 R (__indexterm-7401912) 3453 0 R (__indexterm-7404096) 3454 0 R (acid) 911 0 R (acl) 3270 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3552 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3554 0 R (add.metrics) 3550 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3792 0 R (adding.new.node) 3019 0 R]
 >>
 endobj
 137 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/apidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html
index 152b247..0e8047f 100644
--- a/apidocs/constant-values.html
+++ b/apidocs/constant-values.html
@@ -2068,68 +2068,82 @@
 <td class="colLast"><code>6</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_BARRIER_FAMILY_STR">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY_STR">REPLICATION_BARRIER_FAMILY_STR</a></code></td>
+<td class="colLast"><code>"rep_barrier"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_BULKLOAD_ENABLE_DEFAULT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;boolean</code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_DEFAULT">REPLICATION_BULKLOAD_ENABLE_DEFAULT</a></code></td>
 <td class="colLast"><code>false</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_BULKLOAD_ENABLE_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_KEY">REPLICATION_BULKLOAD_ENABLE_KEY</a></code></td>
 <td class="colLast"><code>"hbase.replication.bulkload.enabled"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_CLUSTER_ID">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_CLUSTER_ID">REPLICATION_CLUSTER_ID</a></code></td>
 <td class="colLast"><code>"hbase.replication.cluster.id"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_CODEC_CONF_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_CODEC_CONF_KEY">REPLICATION_CODEC_CONF_KEY</a></code></td>
 <td class="colLast"><code>"hbase.replication.rpc.codec"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_CONF_DIR">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_CONF_DIR">REPLICATION_CONF_DIR</a></code></td>
 <td class="colLast"><code>"hbase.replication.conf.dir"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_DROP_ON_DELETED_TABLE_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_DROP_ON_DELETED_TABLE_KEY">REPLICATION_DROP_ON_DELETED_TABLE_KEY</a></code></td>
 <td class="colLast"><code>"hbase.replication.drop.on.deleted.table"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_QOS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_QOS">REPLICATION_QOS</a></code></td>
 <td class="colLast"><code>5</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_GLOBAL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_GLOBAL">REPLICATION_SCOPE_GLOBAL</a></code></td>
 <td class="colLast"><code>1</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_LOCAL">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_LOCAL">REPLICATION_SCOPE_LOCAL</a></code></td>
 <td class="colLast"><code>0</code></td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_SERIAL">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_SERIAL">REPLICATION_SCOPE_SERIAL</a></code></td>
+<td class="colLast"><code>2</code></td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 2e4c248..6a3aa58 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -9484,6 +9484,13 @@
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope()</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>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+<div class="block">Return true if there are at least one cf whose replication scope is serial.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ServerLoad.html#hasTotalNumberOfRequests--">hasTotalNumberOfRequests()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -14837,6 +14844,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HBaseInterfaceAudience.html#REPLICATION">REPLICATION</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><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY">REPLICATION_BARRIER_FAMILY</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>
+<div class="block">The replication barrier family</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY_STR">REPLICATION_BARRIER_FAMILY_STR</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>
+<div class="block">The replication barrier family as a string</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_DEFAULT">REPLICATION_BULKLOAD_ENABLE_DEFAULT</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#REPLICATION_BULKLOAD_ENABLE_KEY">REPLICATION_BULKLOAD_ENABLE_KEY</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>
@@ -14880,6 +14895,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <dd>
 <div class="block">Scope tag for locally scoped data.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_SERIAL">REPLICATION_SCOPE_SERIAL</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>
+<div class="block">Scope tag for serially scoped data
+ This data will be replicated to all peers by the order of sequence id.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_SERVICE_CLASSNAME_DEFAULT">REPLICATION_SERVICE_CLASSNAME_DEFAULT</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#REPLICATION_SINK_SERVICE_CLASSNAME">REPLICATION_SINK_SERVICE_CLASSNAME</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>


[07/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html
index c8098b1..019ceeb 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterFileSystem.html
@@ -216,245 +216,254 @@
 <span class="sourceLineNo">208</span>  /**<a name="line.208"></a>
 <span class="sourceLineNo">209</span>   * @return HBase root log dir.<a name="line.209"></a>
 <span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  public Path getWALRootDir() { return this.walRootDir; }<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>   * @return HBase temp dir.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public Path getTempDir() {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return this.tempdir;<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 The unique identifier generated for this cluster<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public ClusterId getClusterId() {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    return clusterId;<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>   * Get the rootdir.  Make sure its wholesome and exists before returning.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   * @param rd<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param c<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param fs<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * @return hbase.rootdir (after checks for existence and bootstrapping if<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * needed populating the directory with necessary bootup files).<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   * @throws IOException<a name="line.234"></a>
-<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  private Path checkRootDir(final Path rd, final Configuration c, final FileSystem fs)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      throws IOException {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    // If FS is in safe mode wait till out of it.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    FSUtils.waitOnSafeMode(c, c.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000));<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>    // Filesystem is good. Go ahead and check for hbase.rootdir.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    try {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      if (!fs.exists(rd)) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        fs.mkdirs(rd);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        // DFS leaves safe mode with 0 DNs when there are 0 blocks.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>        // We used to handle this by checking the current DN count and waiting until<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        // it is nonzero. With security, the check for datanode count doesn't work --<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        // it is a privileged op. So instead we adopt the strategy of the jobtracker<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        // and simply retry file creation during bootstrap indefinitely. As soon as<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        // there is one datanode it will succeed. Permission problems should have<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        // already been caught by mkdirs above.<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        FSUtils.setVersion(fs, rd, c.getInt(HConstants.THREAD_WAKE_FREQUENCY,<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          10 * 1000), c.getInt(HConstants.VERSION_FILE_WRITE_ATTEMPTS,<a name="line.253"></a>
-<span class="sourceLineNo">254</span>            HConstants.DEFAULT_VERSION_FILE_WRITE_ATTEMPTS));<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      } else {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        if (!fs.isDirectory(rd)) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>          throw new IllegalArgumentException(rd.toString() + " is not a directory");<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        }<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        // as above<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        FSUtils.checkVersion(fs, rd, true, c.getInt(HConstants.THREAD_WAKE_FREQUENCY,<a name="line.260"></a>
-<span class="sourceLineNo">261</span>          10 * 1000), c.getInt(HConstants.VERSION_FILE_WRITE_ATTEMPTS,<a name="line.261"></a>
-<span class="sourceLineNo">262</span>            HConstants.DEFAULT_VERSION_FILE_WRITE_ATTEMPTS));<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      }<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    } catch (DeserializationException de) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      LOG.error(HBaseMarkers.FATAL, "Please fix invalid configuration for "<a name="line.265"></a>
-<span class="sourceLineNo">266</span>        + HConstants.HBASE_DIR, de);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      IOException ioe = new IOException();<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      ioe.initCause(de);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      throw ioe;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    } catch (IllegalArgumentException iae) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      LOG.error(HBaseMarkers.FATAL, "Please fix invalid configuration for "<a name="line.271"></a>
-<span class="sourceLineNo">272</span>        + HConstants.HBASE_DIR + " " + rd.toString(), iae);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      throw iae;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    // Make sure cluster ID exists<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    if (!FSUtils.checkClusterIdExists(fs, rd, c.getInt(<a name="line.276"></a>
-<span class="sourceLineNo">277</span>        HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000))) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      FSUtils.setClusterId(fs, rd, new ClusterId(), c.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000));<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    clusterId = FSUtils.getClusterId(fs, rd);<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    // Make sure the meta region directory exists!<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    if (!FSUtils.metaRegionExists(fs, rd)) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      bootstrap(rd, c);<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>    // Create tableinfo-s for hbase:meta if not already there.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // assume, created table descriptor is for enabling table<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    // meta table is a system table, so descriptors are predefined,<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    // we should get them from registry.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    FSTableDescriptors fsd = new FSTableDescriptors(c, fs, rd);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    fsd.createTableDescriptor(fsd.get(TableName.META_TABLE_NAME));<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>    return rd;<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>   * Make sure the hbase temp directory exists and is empty.<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * NOTE that this method is only executed once just after the master becomes the active one.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   */<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private void checkTempDir(final Path tmpdir, final Configuration c, final FileSystem fs)<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      throws IOException {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    // If the temp directory exists, clear the content (left over, from the previous run)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (fs.exists(tmpdir)) {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      // Archive table in temp, maybe left over from failed deletion,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      // if not the cleaner will take care of them.<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      for (Path tabledir: FSUtils.getTableDirs(fs, tmpdir)) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        for (Path regiondir: FSUtils.getRegionDirs(fs, tabledir)) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          HFileArchiver.archiveRegion(fs, this.rootdir, tabledir, regiondir);<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>      if (!fs.delete(tmpdir, true)) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        throw new IOException("Unable to clean the temp directory: " + tmpdir);<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>    // Create the temp directory<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    if (isSecurityEnabled) {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      if (!fs.mkdirs(tmpdir, secureRootSubDirPerms)) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        throw new IOException("HBase temp directory '" + tmpdir + "' creation failure.");<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      }<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    } else {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      if (!fs.mkdirs(tmpdir)) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        throw new IOException("HBase temp directory '" + tmpdir + "' creation failure.");<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><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * Make sure the directories under rootDir have good permissions. Create if necessary.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param p<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @throws IOException<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  private void checkSubDir(final Path p, final String dirPermsConfName) throws IOException {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    FileSystem fs = p.getFileSystem(conf);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    FsPermission dirPerms = new FsPermission(conf.get(dirPermsConfName, "700"));<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    if (!fs.exists(p)) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      if (isSecurityEnabled) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        if (!fs.mkdirs(p, secureRootSubDirPerms)) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>          throw new IOException("HBase directory '" + p + "' creation failure.");<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      } else {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        if (!fs.mkdirs(p)) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          throw new IOException("HBase directory '" + p + "' creation failure.");<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>    else {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      if (isSecurityEnabled &amp;&amp; !dirPerms.equals(fs.getFileStatus(p).getPermission())) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        // check whether the permission match<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        LOG.warn("Found HBase directory permissions NOT matching expected permissions for "<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            + p.toString() + " permissions=" + fs.getFileStatus(p).getPermission()<a name="line.352"></a>
-<span class="sourceLineNo">353</span>            + ", expecting " + dirPerms + ". Automatically setting the permissions. "<a name="line.353"></a>
-<span class="sourceLineNo">354</span>            + "You can change the permissions by setting \"" + dirPermsConfName + "\" in hbase-site.xml "<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            + "and restarting the master");<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        fs.setPermission(p, dirPerms);<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>  }<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>   * Check permissions for bulk load staging directory. This directory has special hidden<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * permissions. Create it if necessary.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @throws IOException<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  private void checkStagingDir() throws IOException {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    Path p = new Path(this.rootdir, HConstants.BULKLOAD_STAGING_DIR_NAME);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    try {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      if (!this.fs.exists(p)) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        if (!this.fs.mkdirs(p, HiddenDirPerms)) {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          throw new IOException("Failed to create staging directory " + p.toString());<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        }<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      } else {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>        this.fs.setPermission(p, HiddenDirPerms);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      }<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    } catch (IOException e) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      LOG.error("Failed to create or set permission on staging directory " + p.toString());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      throw new IOException("Failed to create or set permission on staging directory "<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          + p.toString(), e);<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">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  private static void bootstrap(final Path rd, final Configuration c)<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  throws IOException {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    LOG.info("BOOTSTRAP: creating hbase:meta region");<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    try {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      // Bootstrapping, make sure blockcache is off.  Else, one will be<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      // created here in bootstrap and it'll need to be cleaned up.  Better to<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      // not make it in first place.  Turn off block caching for bootstrap.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      // Enable after.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      TableDescriptor metaDescriptor = new FSTableDescriptors(c).get(TableName.META_TABLE_NAME);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      HRegion meta = HRegion.createHRegion(RegionInfoBuilder.FIRST_META_REGIONINFO, rd,<a name="line.392"></a>
-<span class="sourceLineNo">393</span>          c, setInfoFamilyCachingForMeta(metaDescriptor, false), null);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      meta.close();<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    } catch (IOException e) {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>        e = e instanceof RemoteException ?<a name="line.396"></a>
-<span class="sourceLineNo">397</span>                ((RemoteException)e).unwrapRemoteException() : e;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      LOG.error("bootstrap", e);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      throw 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>   * Enable in memory caching for hbase:meta<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public static TableDescriptor setInfoFamilyCachingForMeta(TableDescriptor metaDescriptor, final boolean b) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(metaDescriptor);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    for (ColumnFamilyDescriptor hcd: metaDescriptor.getColumnFamilies()) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      if (Bytes.equals(hcd.getName(), HConstants.CATALOG_FAMILY)) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        builder.modifyColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(hcd)<a name="line.410"></a>
-<span class="sourceLineNo">411</span>                .setBlockCacheEnabled(b)<a name="line.411"></a>
-<span class="sourceLineNo">412</span>                .setInMemory(b)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>                .build());<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 builder.build();<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>  public void deleteFamilyFromFS(RegionInfo region, byte[] familyName)<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      throws IOException {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    deleteFamilyFromFS(rootdir, region, familyName);<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>  public void deleteFamilyFromFS(Path rootDir, RegionInfo region, byte[] familyName)<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      throws IOException {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    // archive family store files<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    Path tableDir = FSUtils.getTableDir(rootDir, region.getTable());<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    HFileArchiver.archiveFamily(fs, conf, region, tableDir, familyName);<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    // delete the family folder<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    Path familyDir = new Path(tableDir,<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      new Path(region.getEncodedName(), Bytes.toString(familyName)));<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    if (fs.delete(familyDir, true) == false) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      if (fs.exists(familyDir)) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        throw new IOException("Could not delete family "<a name="line.435"></a>
-<span class="sourceLineNo">436</span>            + Bytes.toString(familyName) + " from FileSystem for region "<a name="line.436"></a>
-<span class="sourceLineNo">437</span>            + region.getRegionNameAsString() + "(" + region.getEncodedName()<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>  }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>  public void stop() {<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>  public void logFileSystemState(Logger log) throws IOException {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    FSUtils.logFileSystemState(fs, rootdir, log);<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">211</span>  public Path getWALRootDir() {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    return this.walRootDir;<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>   * @return the directory for a give {@code region}.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  public Path getRegionDir(RegionInfo region) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    return FSUtils.getRegionDir(FSUtils.getTableDir(getRootDir(), region.getTable()), region);<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>   * @return HBase temp dir.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public Path getTempDir() {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    return this.tempdir;<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>   * @return The unique identifier generated for this cluster<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  public ClusterId getClusterId() {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return clusterId;<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>   * Get the rootdir.  Make sure its wholesome and exists before returning.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * @param rd<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * @param c<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * @param fs<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * @return hbase.rootdir (after checks for existence and bootstrapping if<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * needed populating the directory with necessary bootup files).<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @throws IOException<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  private Path checkRootDir(final Path rd, final Configuration c, final FileSystem fs)<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      throws IOException {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    // If FS is in safe mode wait till out of it.<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    FSUtils.waitOnSafeMode(c, c.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000));<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>    // Filesystem is good. Go ahead and check for hbase.rootdir.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    try {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      if (!fs.exists(rd)) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        fs.mkdirs(rd);<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        // DFS leaves safe mode with 0 DNs when there are 0 blocks.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        // We used to handle this by checking the current DN count and waiting until<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        // it is nonzero. With security, the check for datanode count doesn't work --<a name="line.256"></a>
+<span class="sourceLineNo">257</span>        // it is a privileged op. So instead we adopt the strategy of the jobtracker<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        // and simply retry file creation during bootstrap indefinitely. As soon as<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        // there is one datanode it will succeed. Permission problems should have<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        // already been caught by mkdirs above.<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        FSUtils.setVersion(fs, rd, c.getInt(HConstants.THREAD_WAKE_FREQUENCY,<a name="line.261"></a>
+<span class="sourceLineNo">262</span>          10 * 1000), c.getInt(HConstants.VERSION_FILE_WRITE_ATTEMPTS,<a name="line.262"></a>
+<span class="sourceLineNo">263</span>            HConstants.DEFAULT_VERSION_FILE_WRITE_ATTEMPTS));<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      } else {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        if (!fs.isDirectory(rd)) {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>          throw new IllegalArgumentException(rd.toString() + " is not a directory");<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        }<a name="line.267"></a>
+<span class="sourceLineNo">268</span>        // as above<a name="line.268"></a>
+<span class="sourceLineNo">269</span>        FSUtils.checkVersion(fs, rd, true, c.getInt(HConstants.THREAD_WAKE_FREQUENCY,<a name="line.269"></a>
+<span class="sourceLineNo">270</span>          10 * 1000), c.getInt(HConstants.VERSION_FILE_WRITE_ATTEMPTS,<a name="line.270"></a>
+<span class="sourceLineNo">271</span>            HConstants.DEFAULT_VERSION_FILE_WRITE_ATTEMPTS));<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    } catch (DeserializationException de) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      LOG.error(HBaseMarkers.FATAL, "Please fix invalid configuration for "<a name="line.274"></a>
+<span class="sourceLineNo">275</span>        + HConstants.HBASE_DIR, de);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      IOException ioe = new IOException();<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      ioe.initCause(de);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      throw ioe;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    } catch (IllegalArgumentException iae) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      LOG.error(HBaseMarkers.FATAL, "Please fix invalid configuration for "<a name="line.280"></a>
+<span class="sourceLineNo">281</span>        + HConstants.HBASE_DIR + " " + rd.toString(), iae);<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      throw iae;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // Make sure cluster ID exists<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    if (!FSUtils.checkClusterIdExists(fs, rd, c.getInt(<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000))) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      FSUtils.setClusterId(fs, rd, new ClusterId(), c.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000));<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    clusterId = FSUtils.getClusterId(fs, rd);<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    // Make sure the meta region directory exists!<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    if (!FSUtils.metaRegionExists(fs, rd)) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      bootstrap(rd, c);<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>    // Create tableinfo-s for hbase:meta if not already there.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    // assume, created table descriptor is for enabling table<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    // meta table is a system table, so descriptors are predefined,<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // we should get them from registry.<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    FSTableDescriptors fsd = new FSTableDescriptors(c, fs, rd);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    fsd.createTableDescriptor(fsd.get(TableName.META_TABLE_NAME));<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    return rd;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  }<a name="line.304"></a>
+<span class="sourceLineNo">305</span><a name="line.305"></a>
+<span class="sourceLineNo">306</span>  /**<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * Make sure the hbase temp directory exists and is empty.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * NOTE that this method is only executed once just after the master becomes the active one.<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   */<a name="line.309"></a>
+<span class="sourceLineNo">310</span>  private void checkTempDir(final Path tmpdir, final Configuration c, final FileSystem fs)<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      throws IOException {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    // If the temp directory exists, clear the content (left over, from the previous run)<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    if (fs.exists(tmpdir)) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      // Archive table in temp, maybe left over from failed deletion,<a name="line.314"></a>
+<span class="sourceLineNo">315</span>      // if not the cleaner will take care of them.<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      for (Path tabledir: FSUtils.getTableDirs(fs, tmpdir)) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        for (Path regiondir: FSUtils.getRegionDirs(fs, tabledir)) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>          HFileArchiver.archiveRegion(fs, this.rootdir, tabledir, regiondir);<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>      if (!fs.delete(tmpdir, true)) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        throw new IOException("Unable to clean the temp directory: " + tmpdir);<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>    // Create the temp directory<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    if (isSecurityEnabled) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      if (!fs.mkdirs(tmpdir, secureRootSubDirPerms)) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        throw new IOException("HBase temp directory '" + tmpdir + "' creation failure.");<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>      if (!fs.mkdirs(tmpdir)) {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        throw new IOException("HBase temp directory '" + tmpdir + "' creation failure.");<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
+<span class="sourceLineNo">337</span><a name="line.337"></a>
+<span class="sourceLineNo">338</span>  /**<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * Make sure the directories under rootDir have good permissions. Create if necessary.<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param p<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @throws IOException<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private void checkSubDir(final Path p, final String dirPermsConfName) throws IOException {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    FileSystem fs = p.getFileSystem(conf);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    FsPermission dirPerms = new FsPermission(conf.get(dirPermsConfName, "700"));<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    if (!fs.exists(p)) {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (isSecurityEnabled) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        if (!fs.mkdirs(p, secureRootSubDirPerms)) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>          throw new IOException("HBase directory '" + p + "' creation failure.");<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      } else {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        if (!fs.mkdirs(p)) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>          throw new IOException("HBase directory '" + p + "' creation failure.");<a name="line.353"></a>
+<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>    }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    else {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      if (isSecurityEnabled &amp;&amp; !dirPerms.equals(fs.getFileStatus(p).getPermission())) {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        // check whether the permission match<a name="line.359"></a>
+<span class="sourceLineNo">360</span>        LOG.warn("Found HBase directory permissions NOT matching expected permissions for "<a name="line.360"></a>
+<span class="sourceLineNo">361</span>            + p.toString() + " permissions=" + fs.getFileStatus(p).getPermission()<a name="line.361"></a>
+<span class="sourceLineNo">362</span>            + ", expecting " + dirPerms + ". Automatically setting the permissions. "<a name="line.362"></a>
+<span class="sourceLineNo">363</span>            + "You can change the permissions by setting \"" + dirPermsConfName + "\" in hbase-site.xml "<a name="line.363"></a>
+<span class="sourceLineNo">364</span>            + "and restarting the master");<a name="line.364"></a>
+<span class="sourceLineNo">365</span>        fs.setPermission(p, dirPerms);<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><a name="line.369"></a>
+<span class="sourceLineNo">370</span>  /**<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   * Check permissions for bulk load staging directory. This directory has special hidden<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * permissions. Create it if necessary.<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * @throws IOException<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  private void checkStagingDir() throws IOException {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    Path p = new Path(this.rootdir, HConstants.BULKLOAD_STAGING_DIR_NAME);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    try {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>      if (!this.fs.exists(p)) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>        if (!this.fs.mkdirs(p, HiddenDirPerms)) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>          throw new IOException("Failed to create staging directory " + p.toString());<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      } else {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>        this.fs.setPermission(p, HiddenDirPerms);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    } catch (IOException e) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      LOG.error("Failed to create or set permission on staging directory " + p.toString());<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      throw new IOException("Failed to create or set permission on staging directory "<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          + p.toString(), 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>  private static void bootstrap(final Path rd, final Configuration c)<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  throws IOException {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    LOG.info("BOOTSTRAP: creating hbase:meta region");<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      // Bootstrapping, make sure blockcache is off.  Else, one will be<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      // created here in bootstrap and it'll need to be cleaned up.  Better to<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      // not make it in first place.  Turn off block caching for bootstrap.<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      // Enable after.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      TableDescriptor metaDescriptor = new FSTableDescriptors(c).get(TableName.META_TABLE_NAME);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      HRegion meta = HRegion.createHRegion(RegionInfoBuilder.FIRST_META_REGIONINFO, rd,<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          c, setInfoFamilyCachingForMeta(metaDescriptor, false), null);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      meta.close();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    } catch (IOException e) {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        e = e instanceof RemoteException ?<a name="line.405"></a>
+<span class="sourceLineNo">406</span>                ((RemoteException)e).unwrapRemoteException() : e;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      LOG.error("bootstrap", e);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      throw e;<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><a name="line.411"></a>
+<span class="sourceLineNo">412</span>  /**<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * Enable in memory caching for hbase:meta<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   */<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  public static TableDescriptor setInfoFamilyCachingForMeta(TableDescriptor metaDescriptor, final boolean b) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(metaDescriptor);<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    for (ColumnFamilyDescriptor hcd: metaDescriptor.getColumnFamilies()) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      if (Bytes.equals(hcd.getName(), HConstants.CATALOG_FAMILY)) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        builder.modifyColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(hcd)<a name="line.419"></a>
+<span class="sourceLineNo">420</span>                .setBlockCacheEnabled(b)<a name="line.420"></a>
+<span class="sourceLineNo">421</span>                .setInMemory(b)<a name="line.421"></a>
+<span class="sourceLineNo">422</span>                .build());<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>    return builder.build();<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>  public void deleteFamilyFromFS(RegionInfo region, byte[] familyName)<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      throws IOException {<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    deleteFamilyFromFS(rootdir, region, familyName);<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>  public void deleteFamilyFromFS(Path rootDir, RegionInfo region, byte[] familyName)<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      throws IOException {<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    // archive family store files<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    Path tableDir = FSUtils.getTableDir(rootDir, region.getTable());<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    HFileArchiver.archiveFamily(fs, conf, region, tableDir, familyName);<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span>    // delete the family folder<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    Path familyDir = new Path(tableDir,<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      new Path(region.getEncodedName(), Bytes.toString(familyName)));<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    if (fs.delete(familyDir, true) == false) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      if (fs.exists(familyDir)) {<a name="line.443"></a>
+<span class="sourceLineNo">444</span>        throw new IOException("Could not delete family "<a name="line.444"></a>
+<span class="sourceLineNo">445</span>            + Bytes.toString(familyName) + " from FileSystem for region "<a name="line.445"></a>
+<span class="sourceLineNo">446</span>            + region.getRegionNameAsString() + "(" + region.getEncodedName()<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>  }<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>  public void stop() {<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>  public void logFileSystemState(Logger log) throws IOException {<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    FSUtils.logFileSystemState(fs, rootdir, log);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  }<a name="line.457"></a>
+<span class="sourceLineNo">458</span>}<a name="line.458"></a>
 
 
 


[10/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.html
index df5fa53..8fffb89 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.html
@@ -42,1927 +42,2060 @@
 <span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.conf.Configuration;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Get;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Put;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.Result;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.Table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.slf4j.Logger;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.slf4j.LoggerFactory;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * AssignmentManager) we want permanent connection.<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * &lt;/p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * called default replica.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;pre&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * For each table there is single row in column family 'table' formatted:<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * table: state             =&gt; contains table state<a name="line.98"></a>
-<span class="sourceLineNo">099</span> *<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * For each table range, there is a single row, formatted like:<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * This row corresponds to the regionName of the default region replica.<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * Columns are:<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.104"></a>
-<span class="sourceLineNo">105</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *                            the default regionInfo replica<a name="line.106"></a>
-<span class="sourceLineNo">107</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *                                 the regionInfo replica with replicaId<a name="line.108"></a>
-<span class="sourceLineNo">109</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *                            hosting the default regionInfo replica<a name="line.110"></a>
-<span class="sourceLineNo">111</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.111"></a>
-<span class="sourceLineNo">112</span> *                                          the server hosting the regionInfo replica with<a name="line.112"></a>
-<span class="sourceLineNo">113</span> *                                          replicaId<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.114"></a>
-<span class="sourceLineNo">115</span> *                             the server opened the region with default replicaId<a name="line.115"></a>
-<span class="sourceLineNo">116</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.116"></a>
-<span class="sourceLineNo">117</span> *                                           at the time the server opened the region with<a name="line.117"></a>
-<span class="sourceLineNo">118</span> *                                           replicaId<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.119"></a>
-<span class="sourceLineNo">120</span> *                             region is split<a name="line.120"></a>
-<span class="sourceLineNo">121</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.121"></a>
-<span class="sourceLineNo">122</span> *                             region is split<a name="line.122"></a>
-<span class="sourceLineNo">123</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.123"></a>
-<span class="sourceLineNo">124</span> *                             region is the result of a merge<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.125"></a>
-<span class="sourceLineNo">126</span> *                             region is the result of a merge<a name="line.126"></a>
-<span class="sourceLineNo">127</span> * &lt;/pre&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> * &lt;/p&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.130"></a>
-<span class="sourceLineNo">131</span> * leak out of it (through Result objects, etc)<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * &lt;/p&gt;<a name="line.132"></a>
-<span class="sourceLineNo">133</span> */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>@InterfaceAudience.Private<a name="line.134"></a>
-<span class="sourceLineNo">135</span>public class MetaTableAccessor {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.138"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static final byte [] META_REGION_PREFIX;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  static {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    META_REGION_PREFIX = new byte [len];<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      META_REGION_PREFIX, 0, len);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Lists all of the table regions currently in META.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Deprecated, keep there until some test use this.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param connection what we will use<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param tableName table to list<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @return Map of all user-space regions to servers<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        RegionLocations locations = getRegionLocations(result);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (locations == null) return true;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          if (loc != null) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public enum QueryType {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    private final byte[][] families;<a name="line.186"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>    QueryType(byte[]... families) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return this.families;<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><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.198"></a>
+<span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  ////////////////////////<a name="line.206"></a>
+<span class="sourceLineNo">200</span>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param connection connection we're using<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static void fullScanRegions(Connection connection,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      final Visitor visitor)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param connection connection we're using<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      throws IOException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param connection connection we're using<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static void fullScanTables(Connection connection,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      final Visitor visitor)<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param connection connection we're using<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param type scanned part of meta<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return List of {@link Result}<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    scanMeta(connection, null, null, type, v);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param connection connection we're using to access Meta<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public static Table getMetaHTable(final Connection connection)<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (connection == null) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throw new NullPointerException("No connection");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    } else if (connection.isClosed()) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      throw new IOException("connection is closed");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return connection.getTable(TableName.META_TABLE_NAME);<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>   * @param t Table to use (will be closed when done).<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @param g Get to run<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (t == null) return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return t.get(g);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } finally {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      t.close();<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>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Gets the region info and assignment for the specified region.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param connection connection we're using<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param regionName Region to lookup.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Deprecated<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    throws IOException {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return location == null<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      ? null<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param connection connection we're using<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param regionName region we're looking for<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return HRegionLocation for the given region<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    byte[] row = regionName;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    RegionInfo parsedInfo = null;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    } catch (Exception parseEx) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Get get = new Get(row);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    Result r = get(getMetaHTable(connection), get);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    RegionLocations locations = getRegionLocations(r);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return locations == null ? null<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param connection connection we're using<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param regionInfo region information<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return HRegionLocation for the given region<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Get get = new Get(row);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Result r = get(getMetaHTable(connection), get);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * in the regionName.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>              .setStartKey(fields[1])<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              .setEndKey(fields[2])<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              .setSplit(false)<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              .setRegionId(regionId)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              .setReplicaId(replicaId)<a name="line.354"></a>
-<span class="sourceLineNo">355</span>              .build();<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>  /**<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * Gets the result in hbase:meta for the specified region.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param connection connection we're using<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param regionName region we're looking for<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return result of the specified region<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static Result getRegionResult(Connection connection,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      byte[] regionName) throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    Get get = new Get(regionName);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Nullable<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    Result result = getRegionResult(connection, regionName);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * the specified server.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @param connection connection we're using<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param tableName table to check<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @return true if the table exists in meta, false if not<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public static boolean tableExists(Connection connection,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      final TableName tableName)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  throws IOException {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Catalog tables always exist.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param connection to connect with<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @return List of all user-space regions.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @VisibleForTesting<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      boolean excludeOfflinedSplitParents)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        excludeOfflinedSplitParents);<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>    return getListOfRegionInfos(result);<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>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param connection connection we're using<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @param tableName table we're looking for<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param connection connection we're using<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @param tableName table we're looking for<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * parents in the return.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return getListOfRegionInfos(result);<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>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return Collections.emptyList();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      result.add(pair.getFirst());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return result;<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>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param tableName table we're working with<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * @return start row for scanning META according to query type<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (tableName == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return null;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    switch (type) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    case REGION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return startRow;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    case ALL:<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    case TABLE:<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    default:<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      return tableName.getName();<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>  /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param tableName table we're working with<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @return stop row for scanning META according to query type<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (tableName == null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    final byte[] stopRow;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    switch (type) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    case REGION:<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      break;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    case ALL:<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    case TABLE:<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    default:<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      break;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return stopRow;<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>   * This method creates a Scan object that will only scan catalog rows that<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This is a better alternative to just using a start row and scan until<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * name.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * @param tableName bytes of table's name<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @return configured Scan object<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  @Deprecated<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // Start key is just the table name with delimiters<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // Stop key appends the smallest possible char to the table name<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    Scan scan = getMetaScan(connection, -1);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    scan.setStartRow(startKey);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    scan.setStopRow(stopKey);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return scan;<a name="line.532"></a>
-<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>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    Scan scan = new Scan();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int scannerCaching = connection.getConfiguration()<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (rowUpperLimit &gt; 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      scan.setLimit(rowUpperLimit);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    scan.setCaching(scannerCaching);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param connection connection we're using<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * @param tableName table we're looking for<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return Return list of regioninfos and server.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   */<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return getTableRegionsAndLocations(connection, tableName, true);<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param connection connection we're using<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return Return list of regioninfos and server addresses.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @throws IOException<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      Connection connection, @Nullable final TableName tableName,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        + " use MetaTableLocator instead");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        private RegionLocations current = null;<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>        @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        public boolean visit(Result r) throws IOException {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          current = getRegionLocations(r);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            return true;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Else call super and add this Result to the collection.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          return super.visit(r);<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>        @Override<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        void add(Result r) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>          if (current == null) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>            return;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>            if (loc != null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    scanMeta(connection,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        QueryType.REGION, visitor);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return visitor.getResults();<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>  /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param connection connection we're using<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param serverName server whose regions we're interested in<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @return List of user regions installed on this server (does not include<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * catalog regions).<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @throws IOException<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    // servername.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      @Override<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      void add(Result r) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        if (r == null || r.isEmpty()) return;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        RegionLocations locations = getRegionLocations(r);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        if (locations == null) return;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          if (loc != null) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>              hris.put(loc.getRegion(), r);<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>      }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    };<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    return hris;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    throws IOException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Visitor v = new Visitor() {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      @Override<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      public boolean visit(Result r) throws IOException {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        TableState state = getTableState(r);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (state != null) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          LOG.info("Table State: " + state);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        } else {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          RegionLocations locations = getRegionLocations(r);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          if (locations == null) return true;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            if (loc != null) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        }<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Performs a scan of META table for given table starting from<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * given row.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   *<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param connection connection we're using<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param visitor    visitor to call<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableName  table withing we scan<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param row        start scan from this row<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param rowLimit   max number of rows to return<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static void scanMeta(Connection connection,<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      final Visitor visitor, final TableName tableName,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final byte[] row, final int rowLimit)<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      throws IOException {<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    byte[] startRow = null;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    byte[] stopRow = null;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    if (tableName != null) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      startRow =<a name="line.709"></a>
-<span class="sourceLineNo">710</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      if (row != null) {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        RegionInfo closestRi =<a name="line.712"></a>
-<span class="sourceLineNo">713</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        startRow = RegionInfo<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      stopRow =<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<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><a name="line.723"></a>
-<span class="sourceLineNo">724</span>  /**<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * Performs a scan of META table.<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * @param connection connection we're using<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *                 at first row.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stopRow Where to stop the scan. Pass null if want to scan all rows<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   *              

<TRUNCATED>

[31/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index 6791ccc..73d0c00 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -222,6 +222,7 @@
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.TableVisitorBase</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.ReplicationBarrierResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">NamespaceDescriptor</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/NamespaceDescriptor.Builder.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">NamespaceDescriptor.Builder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">PrivateCellUtil</span></a></li>
@@ -440,20 +441,20 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://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/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-use.html b/devapidocs/org/apache/hadoop/hbase/package-use.html
index 266e8a7..fae3549 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-use.html
@@ -695,72 +695,75 @@ service.</div>
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/MetaTableAccessor.QueryType.html#org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/MetaTableAccessor.ReplicationBarrierResult.html#org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/MetaTableAccessor.Visitor.html#org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>
 <div class="block">Implementations 'visit' a catalog table row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html#org.apache.hadoop.hbase">NamespaceDescriptor</a>
 <div class="block">Namespace POJO class.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/NamespaceDescriptor.Builder.html#org.apache.hadoop.hbase">NamespaceDescriptor.Builder</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.EmptyByteBufferExtendedCell.html#org.apache.hadoop.hbase">PrivateCellUtil.EmptyByteBufferExtendedCell</a>
 <div class="block">These cells are used in reseeks/seeks to improve the read performance.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.EmptyCell.html#org.apache.hadoop.hbase">PrivateCellUtil.EmptyCell</a>
 <div class="block">These cells are used in reseeks/seeks to improve the read performance.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.FirstOnRowByteBufferExtendedCell.html#org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowByteBufferExtendedCell</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.FirstOnRowCell.html#org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowCell</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.FirstOnRowColByteBufferExtendedCell.html#org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowColByteBufferExtendedCell</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.FirstOnRowColCell.html#org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowColCell</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.LastOnRowByteBufferExtendedCell.html#org.apache.hadoop.hbase">PrivateCellUtil.LastOnRowByteBufferExtendedCell</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.LastOnRowCell.html#org.apache.hadoop.hbase">PrivateCellUtil.LastOnRowCell</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.TagRewriteByteBufferExtendedCell.html#org.apache.hadoop.hbase">PrivateCellUtil.TagRewriteByteBufferExtendedCell</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/PrivateCellUtil.TagRewriteCell.html#org.apache.hadoop.hbase">PrivateCellUtil.TagRewriteCell</a>
 <div class="block">This can be used when a Cell has to change with addition/removal of one or more tags.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/ProcedureState.html#org.apache.hadoop.hbase">ProcedureState</a>
 <div class="block">POJO representing Procedure State</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/RawCell.html#org.apache.hadoop.hbase">RawCell</a>
 <div class="block">An extended version of cell that gives more power to CPs</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/RawCellBuilder.html#org.apache.hadoop.hbase">RawCellBuilder</a>
 <div class="block">Allows creating a cell with <a href="../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase"><code>Tag</code></a>
  An instance of this type can be acquired by using RegionCoprocessorEnvironment#getCellBuilder
  (for prod code) and <a href="../../../../org/apache/hadoop/hbase/RawCellBuilderFactory.html" title="class in org.apache.hadoop.hbase"><code>RawCellBuilderFactory</code></a> (for unit tests).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/RegionLoad.html#org.apache.hadoop.hbase">RegionLoad</a>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
@@ -768,32 +771,32 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/RegionLocations.html#org.apache.hadoop.hbase">RegionLocations</a>
 <div class="block">Container for holding a list of <a href="../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase"><code>HRegionLocation</code></a>'s that correspond to the
  same range.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/RegionMetrics.html#org.apache.hadoop.hbase">RegionMetrics</a>
 <div class="block">Encapsulates per-region load metrics.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/RegionMetricsBuilder.html#org.apache.hadoop.hbase">RegionMetricsBuilder</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/RetryImmediatelyException.html#org.apache.hadoop.hbase">RetryImmediatelyException</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/ScheduledChore.html#org.apache.hadoop.hbase">ScheduledChore</a>
 <div class="block">ScheduledChore is a task performed on a period in hbase.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/ScheduledChore.ChoreServicer.html#org.apache.hadoop.hbase">ScheduledChore.ChoreServicer</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/ServerLoad.html#org.apache.hadoop.hbase">ServerLoad</a>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
@@ -801,48 +804,48 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/ServerMetrics.html#org.apache.hadoop.hbase">ServerMetrics</a>
 <div class="block">This class is used for exporting current state of load on a RegionServer.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/ServerMetricsBuilder.html#org.apache.hadoop.hbase">ServerMetricsBuilder</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/ServerName.html#org.apache.hadoop.hbase">ServerName</a>
 <div class="block">Name of a particular incarnation of an HBase Server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/Size.html#org.apache.hadoop.hbase">Size</a>
 <div class="block">It is used to represent the size with different units.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/Size.Unit.html#org.apache.hadoop.hbase">Size.Unit</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/SizeCachedKeyValue.html#org.apache.hadoop.hbase">SizeCachedKeyValue</a>
 <div class="block">This class is an extension to KeyValue where rowLen and keyLen are cached.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/SplitLogTask.html#org.apache.hadoop.hbase">SplitLogTask</a>
 <div class="block">State of a WAL log split during distributed splitting.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/Stoppable.html#org.apache.hadoop.hbase">Stoppable</a>
 <div class="block">Implementers are Stoppable.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/TableName.html#org.apache.hadoop.hbase">TableName</a>
 <div class="block">Immutable POJO class for representing a table name.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/Tag.html#org.apache.hadoop.hbase">Tag</a>
 <div class="block">Tags are part of cells and helps to add metadata about them.</div>
 </td>
@@ -3043,27 +3046,30 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/MetaTableAccessor.ReplicationBarrierResult.html#org.apache.hadoop.hbase.replication.regionserver">MetaTableAccessor.ReplicationBarrierResult</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/Server.html#org.apache.hadoop.hbase.replication.regionserver">Server</a>
 <div class="block">Defines a curated set of shared functions implemented by HBase servers (Masters
  and RegionServers).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/ServerName.html#org.apache.hadoop.hbase.replication.regionserver">ServerName</a>
 <div class="block">Name of a particular incarnation of an HBase Server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/Stoppable.html#org.apache.hadoop.hbase.replication.regionserver">Stoppable</a>
 <div class="block">Implementers are Stoppable.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/TableDescriptors.html#org.apache.hadoop.hbase.replication.regionserver">TableDescriptors</a>
 <div class="block">Get, remove and modify table descriptors.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/TableName.html#org.apache.hadoop.hbase.replication.regionserver">TableName</a>
 <div class="block">Immutable POJO class for representing a table name.</div>
 </td>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 0913cda..d21066f 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -222,12 +222,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://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/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/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/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/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/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/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
 </ul>
 </li>
 </ul>


[15/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html
index df5fa53..8fffb89 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.DefaultVisitorBase.html
@@ -42,1927 +42,2060 @@
 <span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.conf.Configuration;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Get;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Put;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.Result;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.Table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.slf4j.Logger;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.slf4j.LoggerFactory;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * AssignmentManager) we want permanent connection.<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * &lt;/p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * called default replica.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;pre&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * For each table there is single row in column family 'table' formatted:<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * table: state             =&gt; contains table state<a name="line.98"></a>
-<span class="sourceLineNo">099</span> *<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * For each table range, there is a single row, formatted like:<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * This row corresponds to the regionName of the default region replica.<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * Columns are:<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.104"></a>
-<span class="sourceLineNo">105</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *                            the default regionInfo replica<a name="line.106"></a>
-<span class="sourceLineNo">107</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *                                 the regionInfo replica with replicaId<a name="line.108"></a>
-<span class="sourceLineNo">109</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *                            hosting the default regionInfo replica<a name="line.110"></a>
-<span class="sourceLineNo">111</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.111"></a>
-<span class="sourceLineNo">112</span> *                                          the server hosting the regionInfo replica with<a name="line.112"></a>
-<span class="sourceLineNo">113</span> *                                          replicaId<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.114"></a>
-<span class="sourceLineNo">115</span> *                             the server opened the region with default replicaId<a name="line.115"></a>
-<span class="sourceLineNo">116</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.116"></a>
-<span class="sourceLineNo">117</span> *                                           at the time the server opened the region with<a name="line.117"></a>
-<span class="sourceLineNo">118</span> *                                           replicaId<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.119"></a>
-<span class="sourceLineNo">120</span> *                             region is split<a name="line.120"></a>
-<span class="sourceLineNo">121</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.121"></a>
-<span class="sourceLineNo">122</span> *                             region is split<a name="line.122"></a>
-<span class="sourceLineNo">123</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.123"></a>
-<span class="sourceLineNo">124</span> *                             region is the result of a merge<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.125"></a>
-<span class="sourceLineNo">126</span> *                             region is the result of a merge<a name="line.126"></a>
-<span class="sourceLineNo">127</span> * &lt;/pre&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> * &lt;/p&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.130"></a>
-<span class="sourceLineNo">131</span> * leak out of it (through Result objects, etc)<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * &lt;/p&gt;<a name="line.132"></a>
-<span class="sourceLineNo">133</span> */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>@InterfaceAudience.Private<a name="line.134"></a>
-<span class="sourceLineNo">135</span>public class MetaTableAccessor {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.138"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static final byte [] META_REGION_PREFIX;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  static {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    META_REGION_PREFIX = new byte [len];<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      META_REGION_PREFIX, 0, len);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Lists all of the table regions currently in META.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Deprecated, keep there until some test use this.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param connection what we will use<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param tableName table to list<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @return Map of all user-space regions to servers<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        RegionLocations locations = getRegionLocations(result);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (locations == null) return true;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          if (loc != null) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public enum QueryType {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    private final byte[][] families;<a name="line.186"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>    QueryType(byte[]... families) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return this.families;<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><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.198"></a>
+<span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  ////////////////////////<a name="line.206"></a>
+<span class="sourceLineNo">200</span>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param connection connection we're using<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static void fullScanRegions(Connection connection,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      final Visitor visitor)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param connection connection we're using<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      throws IOException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param connection connection we're using<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static void fullScanTables(Connection connection,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      final Visitor visitor)<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param connection connection we're using<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param type scanned part of meta<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return List of {@link Result}<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    scanMeta(connection, null, null, type, v);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param connection connection we're using to access Meta<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public static Table getMetaHTable(final Connection connection)<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (connection == null) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throw new NullPointerException("No connection");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    } else if (connection.isClosed()) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      throw new IOException("connection is closed");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return connection.getTable(TableName.META_TABLE_NAME);<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>   * @param t Table to use (will be closed when done).<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @param g Get to run<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (t == null) return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return t.get(g);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } finally {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      t.close();<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>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Gets the region info and assignment for the specified region.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param connection connection we're using<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param regionName Region to lookup.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Deprecated<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    throws IOException {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return location == null<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      ? null<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param connection connection we're using<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param regionName region we're looking for<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return HRegionLocation for the given region<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    byte[] row = regionName;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    RegionInfo parsedInfo = null;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    } catch (Exception parseEx) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Get get = new Get(row);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    Result r = get(getMetaHTable(connection), get);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    RegionLocations locations = getRegionLocations(r);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return locations == null ? null<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param connection connection we're using<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param regionInfo region information<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return HRegionLocation for the given region<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Get get = new Get(row);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Result r = get(getMetaHTable(connection), get);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * in the regionName.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>              .setStartKey(fields[1])<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              .setEndKey(fields[2])<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              .setSplit(false)<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              .setRegionId(regionId)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              .setReplicaId(replicaId)<a name="line.354"></a>
-<span class="sourceLineNo">355</span>              .build();<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>  /**<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * Gets the result in hbase:meta for the specified region.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param connection connection we're using<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param regionName region we're looking for<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return result of the specified region<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static Result getRegionResult(Connection connection,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      byte[] regionName) throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    Get get = new Get(regionName);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Nullable<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    Result result = getRegionResult(connection, regionName);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * the specified server.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @param connection connection we're using<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param tableName table to check<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @return true if the table exists in meta, false if not<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public static boolean tableExists(Connection connection,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      final TableName tableName)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  throws IOException {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Catalog tables always exist.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param connection to connect with<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @return List of all user-space regions.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @VisibleForTesting<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      boolean excludeOfflinedSplitParents)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        excludeOfflinedSplitParents);<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>    return getListOfRegionInfos(result);<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>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param connection connection we're using<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @param tableName table we're looking for<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param connection connection we're using<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @param tableName table we're looking for<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * parents in the return.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return getListOfRegionInfos(result);<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>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return Collections.emptyList();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      result.add(pair.getFirst());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return result;<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>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param tableName table we're working with<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * @return start row for scanning META according to query type<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (tableName == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return null;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    switch (type) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    case REGION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return startRow;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    case ALL:<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    case TABLE:<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    default:<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      return tableName.getName();<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>  /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param tableName table we're working with<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @return stop row for scanning META according to query type<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (tableName == null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    final byte[] stopRow;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    switch (type) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    case REGION:<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      break;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    case ALL:<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    case TABLE:<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    default:<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      break;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return stopRow;<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>   * This method creates a Scan object that will only scan catalog rows that<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This is a better alternative to just using a start row and scan until<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * name.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * @param tableName bytes of table's name<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @return configured Scan object<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  @Deprecated<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // Start key is just the table name with delimiters<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // Stop key appends the smallest possible char to the table name<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    Scan scan = getMetaScan(connection, -1);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    scan.setStartRow(startKey);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    scan.setStopRow(stopKey);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return scan;<a name="line.532"></a>
-<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>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    Scan scan = new Scan();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int scannerCaching = connection.getConfiguration()<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (rowUpperLimit &gt; 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      scan.setLimit(rowUpperLimit);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    scan.setCaching(scannerCaching);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param connection connection we're using<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * @param tableName table we're looking for<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return Return list of regioninfos and server.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   */<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return getTableRegionsAndLocations(connection, tableName, true);<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param connection connection we're using<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return Return list of regioninfos and server addresses.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @throws IOException<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      Connection connection, @Nullable final TableName tableName,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        + " use MetaTableLocator instead");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        private RegionLocations current = null;<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>        @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        public boolean visit(Result r) throws IOException {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          current = getRegionLocations(r);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            return true;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Else call super and add this Result to the collection.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          return super.visit(r);<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>        @Override<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        void add(Result r) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>          if (current == null) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>            return;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>            if (loc != null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    scanMeta(connection,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        QueryType.REGION, visitor);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return visitor.getResults();<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>  /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param connection connection we're using<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param serverName server whose regions we're interested in<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @return List of user regions installed on this server (does not include<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * catalog regions).<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @throws IOException<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    // servername.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      @Override<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      void add(Result r) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        if (r == null || r.isEmpty()) return;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        RegionLocations locations = getRegionLocations(r);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        if (locations == null) return;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          if (loc != null) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>              hris.put(loc.getRegion(), r);<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>      }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    };<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    return hris;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    throws IOException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Visitor v = new Visitor() {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      @Override<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      public boolean visit(Result r) throws IOException {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        TableState state = getTableState(r);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (state != null) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          LOG.info("Table State: " + state);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        } else {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          RegionLocations locations = getRegionLocations(r);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          if (locations == null) return true;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            if (loc != null) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        }<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Performs a scan of META table for given table starting from<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * given row.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   *<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param connection connection we're using<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param visitor    visitor to call<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableName  table withing we scan<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param row        start scan from this row<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param rowLimit   max number of rows to return<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static void scanMeta(Connection connection,<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      final Visitor visitor, final TableName tableName,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final byte[] row, final int rowLimit)<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      throws IOException {<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    byte[] startRow = null;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    byte[] stopRow = null;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    if (tableName != null) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      startRow =<a name="line.709"></a>
-<span class="sourceLineNo">710</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      if (row != null) {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        RegionInfo closestRi =<a name="line.712"></a>
-<span class="sourceLineNo">713</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        startRow = RegionInfo<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      stopRow =<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<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><a name="line.723"></a>
-<span class="sourceLineNo">724</span>  /**<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * Performs a scan of META table.<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * @param connection connection we're using<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *                 at first row.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stopRow Where to stop the scan. Pass null if want t

<TRUNCATED>

[37/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html b/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
index 5ddfab2..7a0dcbd 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Cell.html
@@ -1568,39 +1568,43 @@ service.</div>
                 int&nbsp;index)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private static long</code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrier-org.apache.hadoop.hbase.Cell-">getReplicationBarrier</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>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getRowAsInt-org.apache.hadoop.hbase.Cell-">getRowAsInt</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Converts the rowkey bytes of the given cell into an int value</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#getRowByte-org.apache.hadoop.hbase.Cell-int-">getRowByte</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
           int&nbsp;index)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getRowByte-org.apache.hadoop.hbase.Cell-int-">getRowByte</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
           int&nbsp;index)</code>
 <div class="block">misc</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">KeyValueUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/KeyValueUtil.html#getSerializedSize-org.apache.hadoop.hbase.Cell-boolean-">getSerializedSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                  boolean&nbsp;withTags)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static int</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getSumOfCellElementLengths-org.apache.hadoop.hbase.Cell-">getSumOfCellElementLengths</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">
+<tr class="rowColor">
 <td class="colFirst"><code>private static int</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getSumOfCellKeyElementLengths-org.apache.hadoop.hbase.Cell-">getSumOfCellKeyElementLengths</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">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#getTag-org.apache.hadoop.hbase.Cell-byte-">getTag</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
       byte&nbsp;type)</code>
@@ -1610,14 +1614,14 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getTag-org.apache.hadoop.hbase.Cell-byte-">getTag</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
       byte&nbsp;type)</code>
 <div class="block">Retrieve Cell's first tag, matching the passed in type</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#getTagArray-org.apache.hadoop.hbase.Cell-">getTagArray</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1625,7 +1629,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#getTags-org.apache.hadoop.hbase.Cell-">getTags</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1634,35 +1638,35 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getTags-org.apache.hadoop.hbase.Cell-">getTags</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">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getValueAsBigDecimal-org.apache.hadoop.hbase.Cell-">getValueAsBigDecimal</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Converts the value bytes of the given cell into a BigDecimal</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static double</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getValueAsDouble-org.apache.hadoop.hbase.Cell-">getValueAsDouble</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Converts the value bytes of the given cell into a double value</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getValueAsInt-org.apache.hadoop.hbase.Cell-">getValueAsInt</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Converts the value bytes of the given cell into a int value</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getValueAsLong-org.apache.hadoop.hbase.Cell-">getValueAsLong</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Converts the value bytes of the given cell into a long value</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#getValueBufferShallowCopy-org.apache.hadoop.hbase.Cell-">getValueBufferShallowCopy</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1670,15 +1674,15 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#getValueBufferShallowCopy-org.apache.hadoop.hbase.Cell-">getValueBufferShallowCopy</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">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#isDelete-org.apache.hadoop.hbase.Cell-">isDelete</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">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#isDeleteColumnOrFamily-org.apache.hadoop.hbase.Cell-">isDeleteColumnOrFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1686,11 +1690,11 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#isDeleteColumnOrFamily-org.apache.hadoop.hbase.Cell-">isDeleteColumnOrFamily</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">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#isDeleteColumns-org.apache.hadoop.hbase.Cell-">isDeleteColumns</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1698,11 +1702,11 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#isDeleteColumns-org.apache.hadoop.hbase.Cell-">isDeleteColumns</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">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#isDeleteColumnVersion-org.apache.hadoop.hbase.Cell-">isDeleteColumnVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1710,11 +1714,11 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#isDeleteColumnVersion-org.apache.hadoop.hbase.Cell-">isDeleteColumnVersion</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">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#isDeleteFamily-org.apache.hadoop.hbase.Cell-">isDeleteFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1722,11 +1726,11 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#isDeleteFamily-org.apache.hadoop.hbase.Cell-">isDeleteFamily</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">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#isDeleteFamilyVersion-org.apache.hadoop.hbase.Cell-">isDeleteFamilyVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1734,11 +1738,11 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#isDeleteFamilyVersion-org.apache.hadoop.hbase.Cell-">isDeleteFamilyVersion</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">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#isDeleteType-org.apache.hadoop.hbase.Cell-">isDeleteType</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -1746,34 +1750,34 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#isDeleteType-org.apache.hadoop.hbase.Cell-">isDeleteType</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">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#isPut-org.apache.hadoop.hbase.Cell-">isPut</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">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">KeyValueUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/KeyValueUtil.html#keyLength-org.apache.hadoop.hbase.Cell-">keyLength</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Returns number of bytes this cell's key part would have been used if serialized as in
  <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase"><code>KeyValue</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">KeyValueUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/KeyValueUtil.html#length-org.apache.hadoop.hbase.Cell-">length</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Returns number of bytes this cell would have been used if serialized as in <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase"><code>KeyValue</code></a></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingColumn-org.apache.hadoop.hbase.Cell-byte:A-byte:A-">matchingColumn</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingColumn-org.apache.hadoop.hbase.Cell-byte:A-int-int-byte:A-int-int-">matchingColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
               byte[]&nbsp;fam,
@@ -1787,7 +1791,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#matchingColumn-org.apache.hadoop.hbase.Cell-byte:A-int-int-byte:A-int-int-">matchingColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
               byte[]&nbsp;fam,
@@ -1797,17 +1801,17 @@ service.</div>
               int&nbsp;qoffset,
               int&nbsp;qlength)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingColumn-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingColumn</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingFamily-org.apache.hadoop.hbase.Cell-byte:A-">matchingFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
               byte[]&nbsp;buf)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingFamily-org.apache.hadoop.hbase.Cell-byte:A-int-int-">matchingFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
               byte[]&nbsp;buf,
@@ -1818,19 +1822,19 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#matchingFamily-org.apache.hadoop.hbase.Cell-byte:A-int-int-">matchingFamily</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingFamily-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingFamily</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingQualifier-org.apache.hadoop.hbase.Cell-byte:A-">matchingQualifier</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                  byte[]&nbsp;buf)</code>
@@ -1838,7 +1842,7 @@ service.</div>
  byte[] are equal</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingQualifier-org.apache.hadoop.hbase.Cell-byte:A-int-int-">matchingQualifier</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                  byte[]&nbsp;buf,
@@ -1849,7 +1853,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#matchingQualifier-org.apache.hadoop.hbase.Cell-byte:A-int-int-">matchingQualifier</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                  byte[]&nbsp;buf,
@@ -1858,12 +1862,12 @@ service.</div>
 <div class="block">Finds if the qualifier part of the cell and the KV serialized byte[] are equal</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingQualifier-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingQualifier</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingRow-org.apache.hadoop.hbase.Cell-byte:A-">matchingRow</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
            byte[]&nbsp;buf)</code>
@@ -1873,14 +1877,14 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingRow-org.apache.hadoop.hbase.Cell-byte:A-int-int-">matchingRow</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingRow-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingRow</a></span>(<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)</code>
@@ -1890,14 +1894,14 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingRowColumn-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingRowColumn</a></span>(<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)</code>
 <div class="block">Compares the row and column of two keyvalues for equality</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">KeyValue.KVComparator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/KeyValue.KVComparator.html#matchingRowColumn-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingRowColumn</a></span>(<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)</code>
@@ -1905,31 +1909,31 @@ service.</div>
 <div class="block">Compares the row and column of two keyvalues for equality</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingRowColumnBytes-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingRowColumnBytes</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-byte:A-">matchingRows</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
             byte[]&nbsp;buf)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-byte:A-int-int-">matchingRows</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingRows-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingRows</a></span>(<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)</code>
 <div class="block">Compares the row of two keyvalues for equality</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">KeyValue.KVComparator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/KeyValue.KVComparator.html#matchingRows-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingRows</a></span>(<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)</code>
@@ -1937,7 +1941,7 @@ service.</div>
 <div class="block">Compares the row of two keyvalues for equality</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">KeyValue.KVComparator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/KeyValue.KVComparator.html#matchingRows-org.apache.hadoop.hbase.Cell-short-org.apache.hadoop.hbase.Cell-short-">matchingRows</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
             short&nbsp;lrowlength,
@@ -1946,12 +1950,12 @@ service.</div>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingTimestamp-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingTimestamp</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingType-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingType</a></span>(<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)</code>
@@ -1960,42 +1964,42 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#matchingType-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingType</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingValue-org.apache.hadoop.hbase.Cell-byte:A-">matchingValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
              byte[]&nbsp;buf)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingValue-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">matchingValue</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#matchingValue-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-int-int-">matchingValue</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#matchingValue-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-int-int-">matchingValue</a></span>(<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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">KeyValueUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/KeyValueUtil.html#oswrite-org.apache.hadoop.hbase.Cell-java.io.OutputStream-boolean-">oswrite</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
        <a href="https://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,
        boolean&nbsp;withTags)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#setSequenceId-org.apache.hadoop.hbase.Cell-long-">setSequenceId</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
              long&nbsp;seqId)</code>
@@ -2004,21 +2008,21 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#setSequenceId-org.apache.hadoop.hbase.Cell-long-">setSequenceId</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
              long&nbsp;seqId)</code>
 <div class="block">Sets the given seqId to the cell.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#setTimestamp-org.apache.hadoop.hbase.Cell-byte:A-">setTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
             byte[]&nbsp;ts)</code>
 <div class="block">Sets the given timestamp to the cell.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#setTimestamp-org.apache.hadoop.hbase.Cell-byte:A-int-">setTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
             byte[]&nbsp;ts,
@@ -2028,7 +2032,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#setTimestamp-org.apache.hadoop.hbase.Cell-long-">setTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
             long&nbsp;ts)</code>
@@ -2037,33 +2041,33 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#setTimestamp-org.apache.hadoop.hbase.Cell-long-">setTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
             long&nbsp;ts)</code>
 <div class="block">Sets the given timestamp to the cell.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#tagsIterator-org.apache.hadoop.hbase.Cell-">tagsIterator</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Util method to iterate through the tags in the given cell.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a></code></td>
 <td class="colLast"><span class="typeNameLabel">KeyValueUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/KeyValueUtil.html#toNewKeyCell-org.apache.hadoop.hbase.Cell-">toNewKeyCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Copies the key to a new KeyValue</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#toString-org.apache.hadoop.hbase.Cell-boolean-">toString</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
         boolean&nbsp;verbose)</code>
 <div class="block">Returns a string representation of the cell</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#updateLatestStamp-org.apache.hadoop.hbase.Cell-byte:A-">updateLatestStamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                  byte[]&nbsp;ts)</code>
@@ -2071,7 +2075,7 @@ service.</div>
  <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#LATEST_TIMESTAMP"><code>HConstants.LATEST_TIMESTAMP</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#updateLatestStamp-org.apache.hadoop.hbase.Cell-byte:A-int-">updateLatestStamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                  byte[]&nbsp;ts,
@@ -2081,7 +2085,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#updateLatestStamp-org.apache.hadoop.hbase.Cell-long-">updateLatestStamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                  long&nbsp;ts)</code>
@@ -2090,7 +2094,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#updateLatestStamp-org.apache.hadoop.hbase.Cell-long-">updateLatestStamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                  long&nbsp;ts)</code>
@@ -2098,7 +2102,7 @@ service.</div>
  <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#LATEST_TIMESTAMP"><code>HConstants.LATEST_TIMESTAMP</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.ValueAndTagRewriteCell.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.ValueAndTagRewriteCell.html#write-java.nio.ByteBuffer-int-org.apache.hadoop.hbase.Cell-byte:A-byte:A-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buf,
      int&nbsp;offset,
@@ -2109,7 +2113,7 @@ service.</div>
  within ValueAndTagRewriteByteBufferExtendedCell</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static int</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.ValueAndTagRewriteCell.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.ValueAndTagRewriteCell.html#write-java.io.OutputStream-boolean-org.apache.hadoop.hbase.Cell-byte:A-byte:A-">write</a></span>(<a href="https://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,
      boolean&nbsp;withTags,
@@ -2120,7 +2124,7 @@ service.</div>
  ValueAndTagRewriteByteBufferExtendedCell</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeCell-org.apache.hadoop.hbase.Cell-java.io.OutputStream-boolean-">writeCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
          <a href="https://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,
@@ -2128,7 +2132,7 @@ service.</div>
 <div class="block">Writes the cell to the given OutputStream</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeCellToBuffer-org.apache.hadoop.hbase.Cell-java.nio.ByteBuffer-int-">writeCellToBuffer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buf,
@@ -2136,7 +2140,7 @@ service.</div>
 <div class="block">Writes a cell to the buffer at the given offset</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeFamily-java.io.OutputStream-org.apache.hadoop.hbase.Cell-byte-">writeFamily</a></span>(<a href="https://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,
@@ -2144,14 +2148,14 @@ service.</div>
 <div class="block">Writes the family from the given cell to the output stream</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeFlatKey-org.apache.hadoop.hbase.Cell-java.io.DataOutput-">writeFlatKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
 <div class="block">Writes the Cell's key part as it would have serialized in a KeyValue.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#writeFlatKey-org.apache.hadoop.hbase.Cell-java.io.OutputStream-">writeFlatKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
             <a href="https://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)</code>
@@ -2160,12 +2164,12 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeFlatKey-org.apache.hadoop.hbase.Cell-java.io.OutputStream-">writeFlatKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
             <a href="https://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)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeQualifier-java.io.OutputStream-org.apache.hadoop.hbase.Cell-int-">writeQualifier</a></span>(<a href="https://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,
@@ -2173,7 +2177,7 @@ service.</div>
 <div class="block">Writes the qualifier from the given cell to the output stream</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#writeQualifierSkippingBytes-java.io.DataOutputStream-org.apache.hadoop.hbase.Cell-int-int-">writeQualifierSkippingBytes</a></span>(<a href="https://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,
@@ -2184,7 +2188,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeQualifierSkippingBytes-java.io.DataOutputStream-org.apache.hadoop.hbase.Cell-int-int-">writeQualifierSkippingBytes</a></span>(<a href="https://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,
@@ -2193,7 +2197,7 @@ service.</div>
 <div class="block">Writes the qualifier from the given cell to the output stream excluding the common prefix</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeRow-java.io.OutputStream-org.apache.hadoop.hbase.Cell-short-">writeRow</a></span>(<a href="https://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,
@@ -2201,7 +2205,7 @@ service.</div>
 <div class="block">Writes the row from the given cell to the output stream</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#writeRowKeyExcludingCommon-org.apache.hadoop.hbase.Cell-short-int-java.io.DataOutputStream-">writeRowKeyExcludingCommon</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                           short&nbsp;rLen,
@@ -2212,7 +2216,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeRowKeyExcludingCommon-org.apache.hadoop.hbase.Cell-short-int-java.io.DataOutputStream-">writeRowKeyExcludingCommon</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                           short&nbsp;rLen,
@@ -2221,7 +2225,7 @@ service.</div>
 <div class="block">Write rowkey excluding the common part.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">CellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/CellUtil.html#writeRowSkippingBytes-java.io.DataOutputStream-org.apache.hadoop.hbase.Cell-short-int-">writeRowSkippingBytes</a></span>(<a href="https://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,
@@ -2232,7 +2236,7 @@ service.</div>
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeRowSkippingBytes-java.io.DataOutputStream-org.apache.hadoop.hbase.Cell-short-int-">writeRowSkippingBytes</a></span>(<a href="https://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,
@@ -2241,7 +2245,7 @@ service.</div>
 <div class="block">Writes the row from the given cell to the output stream excluding the common prefix</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeTags-java.io.OutputStream-org.apache.hadoop.hbase.Cell-int-">writeTags</a></span>(<a href="https://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,
@@ -2249,7 +2253,7 @@ service.</div>
 <div class="block">Writes the tag from the given cell to the output stream</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrivateCellUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/PrivateCellUtil.html#writeValue-java.io.OutputStream-org.apache.hadoop.hbase.Cell-int-">writeValue</a></span>(<a href="https://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,
@@ -7887,10 +7891,20 @@ service.</div>
                      <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">SerialReplicationChecker.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">canPush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+       <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCellInEdit)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationSink.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html#isNewRowOrType-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">isNewRowOrType</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;previousCell,
               <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>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialReplicationChecker.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#waitUntilCanPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">waitUntilCanPush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCellInEdit)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/class-use/MetaTableAccessor.ReplicationBarrierResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/MetaTableAccessor.ReplicationBarrierResult.html b/devapidocs/org/apache/hadoop/hbase/class-use/MetaTableAccessor.ReplicationBarrierResult.html
new file mode 100644
index 0000000..33376bf
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/MetaTableAccessor.ReplicationBarrierResult.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/class-use/MetaTableAccessor.ReplicationBarrierResult.html" target="_top">Frames</a></li>
+<li><a href="MetaTableAccessor.ReplicationBarrierResult.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult" class="title">Uses of Class<br>org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase">org.apache.hadoop.hbase</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a> in <a href="../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</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/package-summary.html">org.apache.hadoop.hbase</a> that return <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</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/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-byte:A-byte:A-">getReplicationBarrierResult</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                           byte[]&nbsp;row,
+                           byte[]&nbsp;encodedRegionName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Result-">getReplicationBarrierResult</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>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.hadoop.hbase.replication.regionserver">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a> in <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</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/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> with parameters of type <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</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>private boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialReplicationChecker.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#isLastRangeAndOpening-org.apache.hadoop.hbase.MetaTableAccessor.ReplicationBarrierResult-int-">isLastRangeAndOpening</a></span>(<a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a>&nbsp;barrierResult,
+                     int&nbsp;index)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/class-use/MetaTableAccessor.ReplicationBarrierResult.html" target="_top">Frames</a></li>
+<li><a href="MetaTableAccessor.ReplicationBarrierResult.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/Server.html b/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
index 6c69916..df701bd 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
@@ -594,6 +594,19 @@
 </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/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> that return <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</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>(package private) <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getServer--">getServer</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">
 <caption><span>Methods in <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> with parameters of type <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
index 048516a..57ce04e 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
@@ -569,10 +569,12 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">mergeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.ServerName-int-">mergeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionA,
+            long&nbsp;regionAOpenSeqNum,
             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionB,
+            long&nbsp;regionBOpenSeqNum,
             <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
             int&nbsp;regionReplication)</code>
 <div class="block">Merge the two regions into one in an atomic operation.</div>
@@ -599,8 +601,9 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#splitRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">splitRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#splitRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">splitRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+           long&nbsp;parentOpenSeqNum,
            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitA,
            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitB,
            <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
@@ -4240,7 +4243,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">mergeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+<td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">mergeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB,
             <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>


[29/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html b/devapidocs/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html
index 67d82a0..91643d6 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.48">NamespaceTableCfWALEntryFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.45">NamespaceTableCfWALEntryFilter</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryFilter.html" title="interface in org.apache.hadoop.hbase.replication">WALEntryFilter</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/WALCellFilter.html" title="interface in org.apache.hadoop.hbase.replication">WALCellFilter</a></pre>
 <div class="block">Filter a WAL Entry by the peer config: replicate_all flag, namespaces config, table-cfs config,
@@ -150,10 +150,6 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#bulkLoadFilter">bulkLoadFilter</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#LOG">LOG</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#peer">peer</a></span></code>&nbsp;</td>
 </tr>
@@ -236,22 +232,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="LOG">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.50">LOG</a></pre>
-</li>
-</ul>
 <a name="peer">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>peer</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.51">peer</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.47">peer</a></pre>
 </li>
 </ul>
 <a name="bulkLoadFilter">
@@ -260,7 +247,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>bulkLoadFilter</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.52">bulkLoadFilter</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.48">bulkLoadFilter</a></pre>
 </li>
 </ul>
 </li>
@@ -277,7 +264,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NamespaceTableCfWALEntryFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.54">NamespaceTableCfWALEntryFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a>&nbsp;peer)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.50">NamespaceTableCfWALEntryFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a>&nbsp;peer)</pre>
 </li>
 </ul>
 </li>
@@ -294,7 +281,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockList">
 <li class="blockList">
 <h4>filter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.59">filter</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.55">filter</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryFilter.html#filter-org.apache.hadoop.hbase.wal.WAL.Entry-">WALEntryFilter</a></code></span></div>
 <div class="block">Applies the filter, possibly returning a different Entry instance.
  If null is returned, the entry will be skipped.</div>
@@ -315,7 +302,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</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/replication/NamespaceTableCfWALEntryFilter.html#line.102">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+<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/replication/NamespaceTableCfWALEntryFilter.html#line.98">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
                        <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/replication/WALCellFilter.html#filterCell-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">WALCellFilter</a></code></span></div>
 <div class="block">Applies the filter, possibly returning a different Cell instance.
@@ -338,7 +325,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockList">
 <li class="blockList">
 <h4>filterByExcludeTableCfs</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.146">filterByExcludeTableCfs</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.142">filterByExcludeTableCfs</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;family,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;excludeTableCfs)</pre>
 </li>
@@ -349,7 +336,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterByTableCfs</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.162">filterByTableCfs</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html#line.158">filterByTableCfs</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;family,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCfs)</pre>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html b/devapidocs/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html
index 503c7a9..c73f534 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#line.36">ScopeWALEntryFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#line.34">ScopeWALEntryFilter</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryFilter.html" title="interface in org.apache.hadoop.hbase.replication">WALEntryFilter</a>, <a href="../../../../../org/apache/hadoop/hbase/replication/WALCellFilter.html" title="interface in org.apache.hadoop.hbase.replication">WALCellFilter</a></pre>
 <div class="block">Keeps KVs that are scoped other than local</div>
@@ -137,7 +137,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a></code></td>
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#bulkLoadFilter">bulkLoadFilter</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -213,7 +213,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>bulkLoadFilter</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#line.38">bulkLoadFilter</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#line.36">bulkLoadFilter</a></pre>
 </li>
 </ul>
 </li>
@@ -230,7 +230,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ScopeWALEntryFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#line.36">ScopeWALEntryFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#line.34">ScopeWALEntryFilter</a>()</pre>
 </li>
 </ul>
 </li>
@@ -247,7 +247,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockList">
 <li class="blockList">
 <h4>filter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#line.41">filter</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#line.39">filter</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryFilter.html#filter-org.apache.hadoop.hbase.wal.WAL.Entry-">WALEntryFilter</a></code></span></div>
 <div class="block">Applies the filter, possibly returning a different Entry instance.
  If null is returned, the entry will be skipped.</div>
@@ -268,7 +268,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterCell</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/replication/ScopeWALEntryFilter.html#line.50">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+<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/replication/ScopeWALEntryFilter.html#line.48">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
                        <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/replication/WALCellFilter.html#filterCell-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">WALCellFilter</a></code></span></div>
 <div class="block">Applies the filter, possibly returning a different Cell instance.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/class-use/BulkLoadCellFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/class-use/BulkLoadCellFilter.html b/devapidocs/org/apache/hadoop/hbase/replication/class-use/BulkLoadCellFilter.html
index ce352d6..c24b4ed 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/class-use/BulkLoadCellFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/class-use/BulkLoadCellFilter.html
@@ -105,7 +105,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a></code></td>
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ScopeWALEntryFilter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html#bulkLoadFilter">bulkLoadFilter</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationQueueStorage.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationQueueStorage.html b/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationQueueStorage.html
index a9d9a87..6c48bd3 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationQueueStorage.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/class-use/ReplicationQueueStorage.html
@@ -254,6 +254,23 @@
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RecoveredReplicationSourceShipper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#replicationQueues">replicationQueues</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></code></td>
+<td class="colLast"><span class="typeNameLabel">SerialReplicationChecker.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#storage">storage</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">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> that return <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</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>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSource.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getQueueStorage--">getQueueStorage</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/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html
index bbec00f..3a0e397 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.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};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -235,21 +235,25 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 </td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html#isRecovered--">isRecovered</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html#locateRecoveredPaths-java.util.concurrent.PriorityBlockingQueue-">locateRecoveredPaths</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;queue)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html#startNewWALReader-java.lang.String-java.lang.String-java.util.concurrent.PriorityBlockingQueue-long-">startNewWALReader</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadName,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walGroupId,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;queue,
                  long&nbsp;startPosition)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html#tryFinish--">tryFinish</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html#tryStartNewShipper-java.lang.String-java.util.concurrent.PriorityBlockingQueue-">tryStartNewShipper</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walGroupId,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;queue)</code>&nbsp;</td>
@@ -260,7 +264,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSource</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#addHFileRefs-org.apache.hadoop.hbase.TableName-byte:A-java.util.List-">addHFileRefs</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#enqueueLog-org.apache.hadoop.fs.Path-">enqueueLog</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getCurrentPath--">getCurrentPath</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getQueueId--">getQueueId</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getReplicationEndpoint--">getReplicationEndpoint</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getSourceManager--">getSourceManager</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSo
 urce.html#getSourceMetrics--">getSourceMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getStats--">getStats</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getWALFileLengthProvider--">getWALFileLengthProvider</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#isPeerEnabled--">isPeerEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#isSourceActive--">isSourceActive</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#postShipEdits-java.util.List-int-">postShipEdits</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#sleepForRetries-java.lang.String-int-">sleepForRetries</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Rep
 licationSource.html#startup--">startup</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-">terminate</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-java.lang.Exception-">terminate</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-java.lang.Exception-boolean-">terminate</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#tryThrottle-int-">tryThrottle</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#uncaughtException-java.lang.Thread-java.lang.Throwable-">uncaughtException</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#addHFileRefs-org.apache.hadoop.hbase.TableName-byte:A-java.util.List-">addHFileRefs</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#enqueueLog-org.apache.hadoop.fs.Path-">enqueueLog</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getCurrentPath--">getCurrentPath</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getQueueId--">getQueueId</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getQueueStorage--">getQueueStorage</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getReplicationEndpoint--">getReplicationEndpoint</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSour
 ce.html#getServer--">getServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getSourceManager--">getSourceManager</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getSourceMetrics--">getSourceMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getStats--">getStats</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getWALFileLengthProvider--">getWALFileLengthProvider</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#isPeerEnabled--">isPeerEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#isSourceActive--">isSourceActive</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#postShipEdits-java.util.Li
 st-int-">postShipEdits</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#sleepForRetries-java.lang.String-int-">sleepForRetries</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#startup--">startup</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-">terminate</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-java.lang.Exception-">terminate</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-java.lang.Exception-boolean-">terminate</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#tryThrottle-int-">tryThrottle</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/
 ReplicationSource.html#uncaughtException-java.lang.Thread-java.lang.Throwable-">uncaughtException</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -452,7 +456,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <a name="getServerWALsBelongTo--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getServerWALsBelongTo</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html#line.194">getServerWALsBelongTo</a>()</pre>
@@ -469,6 +473,19 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 </dl>
 </li>
 </ul>
+<a name="isRecovered--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isRecovered</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html#line.199">isRecovered</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether this is a replication source for recovery.</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
index fb661a5..490de8e 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -124,7 +124,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.38">RecoveredReplicationSourceShipper</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.35">RecoveredReplicationSourceShipper</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper</a></pre>
 <div class="block">Used by a <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><code>RecoveredReplicationSource</code></a>.</div>
 </li>
@@ -246,17 +246,13 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#terminate-java.lang.String-java.lang.Exception-">terminate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;cause)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#updateLogPosition-long-">updateLogPosition</a></span>(long&nbsp;lastReadPosition)</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceShipper">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getCurrentPath--">getCurrentPath</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getCurrentPosition--">getCurrentPosition</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getLogQueue--">getLogQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getWorkerState--">getWorkerState</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#isActive--">isActive</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#setWALReader-org.apache.hadoop.hbase.re
 plication.regionserver.ReplicationSourceWALReader-">setWALReader</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#setWorkerState-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceShipper.WorkerState-">setWorkerState</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#shipEdits-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-">shipEdits</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#sleepForRetries-java.lang.String-int-">sleepForRetries</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#startup-java.lang.Thread.UncaughtExceptionHandler-">startup</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#stopWorker--">stopWorker</a></co
 de></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getCurrentPath--">getCurrentPath</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getCurrentPosition--">getCurrentPosition</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getLogQueue--">getLogQueue</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getWorkerState--">getWorkerState</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#isActive--">isActive</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#setWALReader-org.apache.hadoop.hbase.re
 plication.regionserver.ReplicationSourceWALReader-">setWALReader</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#setWorkerState-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceShipper.WorkerState-">setWorkerState</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#shipEdits-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-">shipEdits</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#sleepForRetries-java.lang.String-int-">sleepForRetries</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#startup-java.lang.Thread.UncaughtExceptionHandler-">startup</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#stopWorker--">stopWorker</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
@@ -292,7 +288,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.39">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.36">LOG</a></pre>
 </li>
 </ul>
 <a name="source">
@@ -301,7 +297,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>source</h4>
-<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSource</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.42">source</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSource</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.39">source</a></pre>
 </li>
 </ul>
 <a name="replicationQueues">
@@ -310,7 +306,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockListLast">
 <li class="blockList">
 <h4>replicationQueues</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.43">replicationQueues</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.40">replicationQueues</a></pre>
 </li>
 </ul>
 </li>
@@ -327,7 +323,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RecoveredReplicationSourceShipper</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.45">RecoveredReplicationSourceShipper</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.42">RecoveredReplicationSourceShipper</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walGroupId,
                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;queue,
                                          <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSource</a>&nbsp;source,
@@ -348,7 +344,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.54">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.51">run</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -363,7 +359,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartPosition</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.97">getStartPosition</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.94">getStartPosition</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#getStartPosition--">getStartPosition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper</a></code></dd>
@@ -376,20 +372,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getRecoveredQueueStartPos</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.114">getRecoveredQueueStartPos</a>()</pre>
-</li>
-</ul>
-<a name="updateLogPosition-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>updateLogPosition</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.131">updateLogPosition</a>(long&nbsp;lastReadPosition)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#updateLogPosition-long-">updateLogPosition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper</a></code></dd>
-</dl>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.111">getRecoveredQueueStartPos</a>()</pre>
 </li>
 </ul>
 <a name="terminate-java.lang.String-java.lang.Exception-">
@@ -398,7 +381,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockListLast">
 <li class="blockList">
 <h4>terminate</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.137">terminate</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#line.127">terminate</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;cause)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html
index fd61a8f..d295e22 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -141,13 +141,6 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 </a>
 <h3>Nested Class Summary</h3>
 <ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></code></li>
-</ul>
-<ul class="blockList">
 <li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
 <!--   -->
 </a>
@@ -225,8 +218,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
-                        org.apache.hadoop.fs.Path&nbsp;currentPath)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch</a></span>(org.apache.hadoop.fs.Path&nbsp;currentPath)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -270,7 +262,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#line.38">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#line.39">LOG</a></pre>
 </li>
 </ul>
 </li>
@@ -287,7 +279,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RecoveredReplicationSourceWALReader</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#line.41">RecoveredReplicationSourceWALReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#line.42">RecoveredReplicationSourceWALReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                            org.apache.hadoop.conf.Configuration&nbsp;conf,
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;logQueue,
                                            long&nbsp;startPosition,
@@ -303,18 +295,17 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">
+<a name="handleEmptyWALEntryBatch-org.apache.hadoop.fs.Path-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handleEmptyWALEntryBatch</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#line.48">handleEmptyWALEntryBatch</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
-                                        org.apache.hadoop.fs.Path&nbsp;currentPath)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceWALReader.html#line.49">handleEmptyWALEntryBatch</a>(org.apache.hadoop.fs.Path&nbsp;currentPath)
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#handleEmptyWALEntryBatch-org.apache.hadoop.fs.Path-">handleEmptyWALEntryBatch</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
 </dl>
@@ -373,7 +364,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/replication/regionser
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.lang.Thread">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html
index 029345c..8be4d23 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -378,35 +378,43 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/region
 </td>
 </tr>
 <tr id="i9" class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getQueueStorage--">getQueueStorage</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationEndpoint</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getReplicationEndpoint--">getReplicationEndpoint</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getServer--">getServer</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getServerWALsBelongTo--">getServerWALsBelongTo</a></span>()</code>
 <div class="block">The queue of WALs only belong to one region server.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getSourceManager--">getSourceManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">MetricsSource</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getSourceMetrics--">getSourceMetrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getStats--">getStats</a></span>()</code>
 <div class="block">Get a string representation of the current statistics
  for this source</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#getWALFileLengthProvider--">getWALFileLengthProvider</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#init-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-org.apache.hadoop.hbase.replication.ReplicationQueueStorage-org.apache.hadoop.hbase.replication.ReplicationPeer-org.apache.hadoop.hbase.Server-java.lang.String-java.util.UUID-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-org.apache.hadoop.hbase.replication.regionserver.MetricsSource-">init</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
     org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -421,86 +429,86 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/region
 <div class="block">Instantiation method used by region servers</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#initAndStartReplicationEndpoint-org.apache.hadoop.hbase.replication.ReplicationEndpoint-">initAndStartReplicationEndpoint</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationEndpoint</a>&nbsp;replicationEndpoint)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#initialize--">initialize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#initializeWALEntryFilter--">initializeWALEntryFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#isPeerEnabled--">isPeerEnabled</a></span>()</code>
 <div class="block">check whether the peer is enabled or not</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#isSourceActive--">isSourceActive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#postShipEdits-java.util.List-int-">postShipEdits</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;&nbsp;entries,
              int&nbsp;batchSize)</code>
 <div class="block">Call this after the shipper thread ship some entries to peer cluster.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#sleepForRetries-java.lang.String-int-">sleepForRetries</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
                int&nbsp;sleepMultiplier)</code>
 <div class="block">Do the sleeping logic</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#startNewWALReader-java.lang.String-java.lang.String-java.util.concurrent.PriorityBlockingQueue-long-">startNewWALReader</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadName,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walGroupId,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;queue,
                  long&nbsp;startPosition)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#startup--">startup</a></span>()</code>
 <div class="block">Start the replication</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-">terminate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason)</code>
 <div class="block">End the replication</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-java.lang.Exception-">terminate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;cause)</code>
 <div class="block">End the replication</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#terminate-java.lang.String-java.lang.Exception-boolean-">terminate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;cause,
          boolean&nbsp;join)</code>&nbsp;</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#tryStartNewShipper-java.lang.String-java.util.concurrent.PriorityBlockingQueue-">tryStartNewShipper</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walGroupId,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;queue)</code>&nbsp;</td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#tryThrottle-int-">tryThrottle</a></span>(int&nbsp;batchSize)</code>
 <div class="block">Try to throttle when the peer config with a bandwidth</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#uncaughtException-java.lang.Thread-java.lang.Throwable-">uncaughtException</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>&nbsp;t,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</code>&nbsp;</td>
@@ -513,6 +521,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/region
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceInterface">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a></h3>
+<code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#isRecovered--">isRecovered</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -1319,7 +1334,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/region
 <a name="getServerWALsBelongTo--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getServerWALsBelongTo</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#line.597">getServerWALsBelongTo</a>()</pre>
@@ -1334,6 +1349,24 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/region
 </dl>
 </li>
 </ul>
+<a name="getServer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServer</h4>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#line.601">getServer</a>()</pre>
+</li>
+</ul>
+<a name="getQueueStorage--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getQueueStorage</h4>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#line.605">getQueueStorage</a>()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html
index e141491..1640424 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":18,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":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";
 var tableTab = "tableTab";
@@ -121,7 +121,7 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/rep
 </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>
@@ -207,36 +207,40 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/rep
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#isPeerEnabled--">isPeerEnabled</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
+<td class="colFirst"><code>default boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#isRecovered--">isRecovered</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#isSourceActive--">isSourceActive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#postShipEdits-java.util.List-int-">postShipEdits</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;&nbsp;entries,
              int&nbsp;batchSize)</code>
 <div class="block">Call this after the shipper thread ship some entries to peer cluster.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#startup--">startup</a></span>()</code>
 <div class="block">Start the replication</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#terminate-java.lang.String-">terminate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason)</code>
 <div class="block">End the replication</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#terminate-java.lang.String-java.lang.Exception-">terminate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;cause)</code>
 <div class="block">End the replication</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#tryThrottle-int-">tryThrottle</a></span>(int&nbsp;batchSize)</code>
 <div class="block">Try to throttle when the peer config with a bandwidth</div>
@@ -533,7 +537,7 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/rep
 <a name="getServerWALsBelongTo--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getServerWALsBelongTo</h4>
 <pre><a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#line.168">getServerWALsBelongTo</a>()</pre>
@@ -545,6 +549,19 @@ public interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/rep
 </dl>
 </li>
 </ul>
+<a name="isRecovered--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isRecovered</h4>
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#line.173">isRecovered</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether this is a replication source for recovery.</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[32/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html
index 7426697..c0243ed 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":9,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9,"i6":9,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -205,10 +205,14 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#deleteRegions-java.util.List-">deleteRegions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regions)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getOpenSeqNumForParentRegion-org.apache.hadoop.hbase.client.RegionInfo-">getOpenSeqNumForParentRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getRegionReplication-org.apache.hadoop.hbase.client.TableDescriptor-">getRegionReplication</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getRegionServer-org.apache.hadoop.hbase.client.Result-int-">getRegionServer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
                int&nbsp;replicaId)</code>
@@ -216,55 +220,63 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  where the region is transitioning.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getRegionState-org.apache.hadoop.hbase.client.Result-int-">getRegionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
               int&nbsp;replicaId)</code>
 <div class="block">Pull the region state from a catalog table <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a>.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getServerNameColumn-int-">getServerNameColumn</a></span>(int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getStateColumn-int-">getStateColumn</a></span>(int&nbsp;replicaId)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-">getTableDescriptor</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#hasSerialReplicationScope-org.apache.hadoop.hbase.client.TableDescriptor-">hasSerialReplicationScope</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#hasSerialReplicationScope-org.apache.hadoop.hbase.TableName-">hasSerialReplicationScope</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB,
             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#splitRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">splitRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB,
            <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateMetaLocation-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">updateMetaLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                   <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateRegionLocation-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.client.Put-">updateRegionLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                     <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
                     <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateRegionLocation-org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode-">updateRegionLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a>&nbsp;regionStateNode)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateUserRegionLocation-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-long-long-">updateUserRegionLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                         <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
@@ -273,11 +285,11 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
                         long&nbsp;openSeqNum,
                         long&nbsp;pid)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#visitMeta-org.apache.hadoop.hbase.master.assignment.RegionStateStore.RegionStateVisitor-">visitMeta</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.RegionStateVisitor.html" title="interface in org.apache.hadoop.hbase.master.assignment">RegionStateStore.RegionStateVisitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#visitMetaEntry-org.apache.hadoop.hbase.master.assignment.RegionStateStore.RegionStateVisitor-org.apache.hadoop.hbase.client.Result-">visitMetaEntry</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.RegionStateVisitor.html" title="interface in org.apache.hadoop.hbase.master.assignment">RegionStateStore.RegionStateVisitor</a>&nbsp;visitor,
               <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)</code>&nbsp;</td>
@@ -444,7 +456,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateRegionLocation</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.193">updateRegionLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.198">updateRegionLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                                   <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
                                   <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -454,13 +466,27 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="getOpenSeqNumForParentRegion-org.apache.hadoop.hbase.client.RegionInfo-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOpenSeqNumForParentRegion</h4>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.213">getOpenSeqNumForParentRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)
+                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="splitRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>splitRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.211">splitRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.223">splitRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
                         <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
                         <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB,
                         <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
@@ -477,7 +503,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.221">mergeRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.237">mergeRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
                          <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
                          <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB,
                          <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
@@ -494,7 +520,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.231">deleteRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.253">deleteRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -508,7 +534,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.235">deleteRegions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regions)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.257">deleteRegions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regions)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -516,13 +542,36 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="hasSerialReplicationScope-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasSerialReplicationScope</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.264">hasSerialReplicationScope</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hasSerialReplicationScope-org.apache.hadoop.hbase.client.TableDescriptor-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasSerialReplicationScope</h4>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.268">hasSerialReplicationScope</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</pre>
+</li>
+</ul>
 <a name="getRegionReplication-org.apache.hadoop.hbase.client.TableDescriptor-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionReplication</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.242">getRegionReplication</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.272">getRegionReplication</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</pre>
 </li>
 </ul>
 <a name="getTableDescriptor-org.apache.hadoop.hbase.TableName-">
@@ -531,7 +580,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.246">getTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.276">getTableDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -545,7 +594,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServer</h4>
-<pre>static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.262">getRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
+<pre>static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.292">getRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
                                   int&nbsp;replicaId)</pre>
 <div class="block">Returns the <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase"><code>ServerName</code></a> from catalog table <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a>
  where the region is transitioning. It should be the same as
@@ -565,7 +614,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerNameColumn</h4>
-<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.279">getServerNameColumn</a>(int&nbsp;replicaId)</pre>
+<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.309">getServerNameColumn</a>(int&nbsp;replicaId)</pre>
 </li>
 </ul>
 <a name="getRegionState-org.apache.hadoop.hbase.client.Result-int-">
@@ -574,7 +623,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionState</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.296">getRegionState</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.326">getRegionState</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
                                                int&nbsp;replicaId)</pre>
 <div class="block">Pull the region state from a catalog table <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client"><code>Result</code></a>.</div>
 <dl>
@@ -591,7 +640,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStateColumn</h4>
-<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.305">getStateColumn</a>(int&nbsp;replicaId)</pre>
+<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#line.335">getStateColumn</a>(int&nbsp;replicaId)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
index 93fe55b..cac45e5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
@@ -469,7 +469,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 </tr>
 <tr id="i32" class="altColor">
 <td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#updateMetaForDaughterRegions-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">updateMetaForDaughterRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#updateMeta-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">updateMeta</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Add daughter regions to META</div>
 </td>
 </tr>
@@ -1062,14 +1062,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 </dl>
 </li>
 </ul>
-<a name="updateMetaForDaughterRegions-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
+<a name="updateMeta-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>updateMetaForDaughterRegions</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.759">updateMetaForDaughterRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
-                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<h4>updateMeta</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.759">updateMeta</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add daughter regions to META</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html b/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html
index 40921b0..6175d93 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html
@@ -113,6 +113,32 @@
 <!--   -->
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a> in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> declared as <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a></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>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.ReplicationBarrierResult.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#state">state</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">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> that return <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</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="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.ReplicationBarrierResult.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#getState--">getState</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">
 <caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -127,6 +153,19 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html#ReplicationBarrierResult-long:A-org.apache.hadoop.hbase.master.RegionState.State-java.util.List-">ReplicationBarrierResult</a></span>(long[]&nbsp;barriers,
+                        <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
+                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;parentRegionNames)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.client">
 <!--   -->

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
index 11f2464..692f067 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public abstract class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.39">AbstractStateMachineTableProcedure</a>&lt;TState&gt;
+public abstract class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.36">AbstractStateMachineTableProcedure</a>&lt;TState&gt;
 extends <a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html" title="class in org.apache.hadoop.hbase.procedure2">StateMachineProcedure</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,TState&gt;
 implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></pre>
 <div class="block">Base class for all the Table procedures that want to use a StateMachineProcedure.
@@ -332,7 +332,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>syncLatch</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.44">syncLatch</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.41">syncLatch</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -341,7 +341,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.46">user</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.43">user</a></pre>
 </li>
 </ul>
 </li>
@@ -358,7 +358,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>AbstractStateMachineTableProcedure</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.48">AbstractStateMachineTableProcedure</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.45">AbstractStateMachineTableProcedure</a>()</pre>
 </li>
 </ul>
 <a name="AbstractStateMachineTableProcedure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
@@ -367,7 +367,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>AbstractStateMachineTableProcedure</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.53">AbstractStateMachineTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.50">AbstractStateMachineTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 </li>
 </ul>
 <a name="AbstractStateMachineTableProcedure-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch-">
@@ -376,7 +376,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AbstractStateMachineTableProcedure</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.60">AbstractStateMachineTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.57">AbstractStateMachineTableProcedure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                              <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.html" title="class in org.apache.hadoop.hbase.master.procedure">ProcedurePrepareLatch</a>&nbsp;latch)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -398,7 +398,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public abstract&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/master/procedure/AbstractStateMachineTableProcedure.html#line.72">getTableName</a>()</pre>
+<pre>public abstract&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/master/procedure/AbstractStateMachineTableProcedure.html#line.69">getTableName</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableName--">getTableName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface</a></code></dd>
@@ -413,7 +413,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public abstract&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.75">getTableOperationType</a>()</pre>
+<pre>public abstract&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">TableProcedureInterface.TableOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.72">getTableOperationType</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.html#getTableOperationType--">TableProcedureInterface</a></code></span></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a delete and we have some table operation pending (e.g. add column)
@@ -432,7 +432,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.78">toStringClassDetails</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.75">toStringClassDetails</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">Procedure</a></code></span></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -450,7 +450,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireLock</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.85">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.82">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">The user should override this method if they need a lock on an Entity.
  A lock can be anything, and it is up to the implementor. The Procedure
@@ -487,7 +487,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.94">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.91">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -502,7 +502,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>getUser</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.98">getUser</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.95">getUser</a>()</pre>
 </li>
 </ul>
 <a name="setUser-org.apache.hadoop.hbase.security.User-">
@@ -511,7 +511,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>setUser</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.102">setUser</a>(<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.99">setUser</a>(<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 </li>
 </ul>
 <a name="releaseSyncLatch--">
@@ -520,7 +520,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseSyncLatch</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.106">releaseSyncLatch</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.103">releaseSyncLatch</a>()</pre>
 </li>
 </ul>
 <a name="checkTableModifiable-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
@@ -529,7 +529,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTableModifiable</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.115">checkTableModifiable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.112">checkTableModifiable</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check whether a table is modifiable - exists and either offline or online with config set</div>
 <dl>
@@ -546,7 +546,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/T
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getRegionDir</h4>
-<pre>protected final&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.122">getRegionDir</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected final&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.html#line.119">getRegionDir</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                        <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)
                                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
index e6c4e7c..2e9b4d6 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/class-use/MasterProcedureEnv.html
@@ -677,7 +677,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">SplitTableRegionProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#updateMetaForDaughterRegions-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">updateMetaForDaughterRegions</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
+<td class="colLast"><span class="typeNameLabel">SplitTableRegionProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#updateMeta-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">updateMeta</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</code>
 <div class="block">Add daughter regions to META</div>
 </td>
 </tr>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-frame.html b/devapidocs/org/apache/hadoop/hbase/package-frame.html
index ff49929..6521eed 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-frame.html
@@ -101,6 +101,7 @@
 <li><a href="MetaTableAccessor.CollectAllVisitor.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.CollectAllVisitor</a></li>
 <li><a href="MetaTableAccessor.CollectingVisitor.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.CollectingVisitor</a></li>
 <li><a href="MetaTableAccessor.DefaultVisitorBase.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.DefaultVisitorBase</a></li>
+<li><a href="MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.ReplicationBarrierResult</a></li>
 <li><a href="MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase" target="classFrame">MetaTableAccessor.TableVisitorBase</a></li>
 <li><a href="NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase" target="classFrame">NamespaceDescriptor</a></li>
 <li><a href="NamespaceDescriptor.Builder.html" title="class in org.apache.hadoop.hbase" target="classFrame">NamespaceDescriptor.Builder</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-summary.html b/devapidocs/org/apache/hadoop/hbase/package-summary.html
index c519867..c4816f8 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-summary.html
@@ -601,261 +601,265 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.TableVisitorBase</a></td>
 <td class="colLast">
 <div class="block">A Visitor for a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a></td>
 <td class="colLast">
 <div class="block">Namespace POJO class.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/NamespaceDescriptor.Builder.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor.Builder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/NoTagsByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">NoTagsByteBufferKeyValue</a></td>
 <td class="colLast">
 <div class="block">An extension of the ByteBufferKeyValue where the tags length is always 0</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/NoTagsKeyValue.html" title="class in org.apache.hadoop.hbase">NoTagsKeyValue</a></td>
 <td class="colLast">
 <div class="block">An extension of the KeyValue where the tags length is always 0</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil</a></td>
 <td class="colLast">
 <div class="block">Utility methods helpful slinging <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase"><code>Cell</code></a> instances.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.EmptyByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.EmptyByteBufferExtendedCell</a></td>
 <td class="colLast">
 <div class="block">These cells are used in reseeks/seeks to improve the read performance.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.EmptyCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.EmptyCell</a></td>
 <td class="colLast">
 <div class="block">These cells are used in reseeks/seeks to improve the read performance.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.FirstOnRowByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowByteBufferExtendedCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.FirstOnRowCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.FirstOnRowColByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowColByteBufferExtendedCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.FirstOnRowColCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowColCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.FirstOnRowColTSByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowColTSByteBufferExtendedCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.FirstOnRowColTSCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowColTSCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.FirstOnRowDeleteFamilyCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.FirstOnRowDeleteFamilyCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.LastOnRowByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.LastOnRowByteBufferExtendedCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.LastOnRowCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.LastOnRowCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.LastOnRowColByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.LastOnRowColByteBufferExtendedCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.LastOnRowColCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.LastOnRowColCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.TagRewriteByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.TagRewriteByteBufferExtendedCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.TagRewriteCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.TagRewriteCell</a></td>
 <td class="colLast">
 <div class="block">This can be used when a Cell has to change with addition/removal of one or more tags.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.ValueAndTagRewriteByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.ValueAndTagRewriteByteBufferExtendedCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/PrivateCellUtil.ValueAndTagRewriteCell.html" title="class in org.apache.hadoop.hbase">PrivateCellUtil.ValueAndTagRewriteCell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/RawCellBuilderFactory.html" title="class in org.apache.hadoop.hbase">RawCellBuilderFactory</a></td>
 <td class="colLast">
 <div class="block">Factory for creating cells for CPs.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a></td>
 <td class="colLast">Deprecated
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="../../../../org/apache/hadoop/hbase/RegionMetrics.html" title="interface in org.apache.hadoop.hbase"><code>RegionMetrics</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/RegionLocations.html" title="class in org.apache.hadoop.hbase">RegionLocations</a></td>
 <td class="colLast">
 <div class="block">Container for holding a list of <a href="../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase"><code>HRegionLocation</code></a>'s that correspond to the
  same range.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/RegionMetricsBuilder.html" title="class in org.apache.hadoop.hbase">RegionMetricsBuilder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/RegionMetricsBuilder.RegionMetricsImpl.html" title="class in org.apache.hadoop.hbase">RegionMetricsBuilder.RegionMetricsImpl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/RSGroupTableAccessor.html" title="class in org.apache.hadoop.hbase">RSGroupTableAccessor</a></td>
 <td class="colLast">
 <div class="block">Read rs group information from  <code>hbase:rsgroup</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a></td>
 <td class="colLast">
 <div class="block">ScheduledChore is a task performed on a period in hbase.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a></td>
 <td class="colLast">Deprecated
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0
              Use <a href="../../../../org/apache/hadoop/hbase/ServerMetrics.html" title="interface in org.apache.hadoop.hbase"><code>ServerMetrics</code></a> instead.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/ServerMetricsBuilder.html" title="class in org.apache.hadoop.hbase">ServerMetricsBuilder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/ServerMetricsBuilder.ServerMetricsImpl.html" title="class in org.apache.hadoop.hbase">ServerMetricsBuilder.ServerMetricsImpl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></td>
 <td class="colLast">
 <div class="block">Name of a particular incarnation of an HBase Server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SharedConnection.html" title="class in org.apache.hadoop.hbase">SharedConnection</a></td>
 <td class="colLast">
 <div class="block">Wraps a Connection to make it can't be closed or aborted.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/Size.html" title="class in org.apache.hadoop.hbase">Size</a></td>
 <td class="colLast">
 <div class="block">It is used to represent the size with different units.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SizeCachedKeyValue.html" title="class in org.apache.hadoop.hbase">SizeCachedKeyValue</a></td>
 <td class="colLast">
 <div class="block">This class is an extension to KeyValue where rowLen and keyLen are cached.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SizeCachedNoTagsKeyValue.html" title="class in org.apache.hadoop.hbase">SizeCachedNoTagsKeyValue</a></td>
 <td class="colLast">
 <div class="block">This class is an extension to ContentSizeCachedKeyValue where there are no tags in Cell.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SplitLogCounters.html" title="class in org.apache.hadoop.hbase">SplitLogCounters</a></td>
 <td class="colLast">
 <div class="block">Counters kept by the distributed WAL split log process.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SplitLogTask.html" title="class in org.apache.hadoop.hbase">SplitLogTask</a></td>
 <td class="colLast">
 <div class="block">State of a WAL log split during distributed splitting.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SplitLogTask.Done.html" title="class in org.apache.hadoop.hbase">SplitLogTask.Done</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SplitLogTask.Err.html" title="class in org.apache.hadoop.hbase">SplitLogTask.Err</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SplitLogTask.Owned.html" title="class in org.apache.hadoop.hbase">SplitLogTask.Owned</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SplitLogTask.Resigned.html" title="class in org.apache.hadoop.hbase">SplitLogTask.Resigned</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SplitLogTask.Unassigned.html" title="class in org.apache.hadoop.hbase">SplitLogTask.Unassigned</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SslRMIClientSocketFactorySecure.html" title="class in org.apache.hadoop.hbase">SslRMIClientSocketFactorySecure</a></td>
 <td class="colLast">
 <div class="block">Avoid SSL V3.0 "Poodle" Vulnerability - CVE-2014-3566</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/SslRMIServerSocketFactorySecure.html" title="class in org.apache.hadoop.hbase">SslRMIServerSocketFactorySecure</a></td>
 <td class="colLast">
 <div class="block">Avoid SSL V3.0 "Poodle" Vulnerability - CVE-2014-3566</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></td>
 <td class="colLast">
 <div class="block">Immutable POJO class for representing a table name.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/TagType.html" title="class in org.apache.hadoop.hbase">TagType</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/TagUtil.html" title="class in org.apache.hadoop.hbase">TagUtil</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/Version.html" title="class in org.apache.hadoop.hbase">Version</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/ZKNamespaceManager.html" title="class in org.apache.hadoop.hbase">ZKNamespaceManager</a></td>
 <td class="colLast">
 <div class="block">Class servers two purposes:
@@ -863,7 +867,7 @@
  1.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/ZNodeClearer.html" title="class in org.apache.hadoop.hbase">ZNodeClearer</a></td>
 <td class="colLast">
 <div class="block">Contains a set of methods for the collaboration between the start/stop scripts and the


[22/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Entry.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Entry.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Entry.html
index 4a4ab48..b4a6ad3 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Entry.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Entry.html
@@ -372,7 +372,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.WALEntryBatch.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#walEntries">walEntries</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WALEntryBatch.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#walEntries">walEntries</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -389,7 +389,15 @@ 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/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WALEntryStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#next--">next</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WALEntryStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#next--">next</a></span>()</code>
+<div class="block">Returns the next WAL entry in this stream and advance the stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a></code></td>
+<td class="colLast"><span class="typeNameLabel">WALEntryStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#peek--">peek</a></span>()</code>
+<div class="block">Returns the next WAL entry in this stream but does not advance.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -411,7 +419,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.WALEntryBatch.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getWalEntries--">getWalEntries</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WALEntryBatch.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#getWalEntries--">getWalEntries</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -424,7 +432,17 @@ 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">ReplicationSourceWALReader.WALEntryBatch.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#addEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">addEntry</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WALEntryBatch.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html#addEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">addEntry</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialReplicationChecker.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPush-org.apache.hadoop.hbase.wal.WAL.Entry-byte:A-">canPush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+       byte[]&nbsp;row)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialReplicationChecker.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#canPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">canPush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+       <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCellInEdit)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a></code></td>
@@ -440,11 +458,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#updateBatchStats-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-org.apache.hadoop.hbase.wal.WAL.Entry-long-long-">updateBatchStats</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;batch,
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#updateBatchStats-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-org.apache.hadoop.hbase.wal.WAL.Entry-long-">updateBatchStats</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;batch,
                 <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
-                long&nbsp;entryPosition,
                 long&nbsp;entrySize)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialReplicationChecker.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html#waitUntilCanPush-org.apache.hadoop.hbase.wal.WAL.Entry-org.apache.hadoop.hbase.Cell-">waitUntilCanPush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+                <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCellInEdit)</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/6b94a2f2/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index aa5da8e..b37992f 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -2218,6 +2218,7 @@
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.TableVisitorBase.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.TableVisitorBase</span></a></li>
 </ul>
 </li>
+<li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.ReplicationBarrierResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">MetaTableLocator</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/Methods.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Methods</span></a></li>
 <li type="circle">org.apache.hadoop.metrics2.util.<a href="org/apache/hadoop/metrics2/util/MetricQuantile.html" title="class in org.apache.hadoop.metrics2.util"><span class="typeNameLink">MetricQuantile</span></a></li>
@@ -3058,7 +3059,6 @@
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceFactory.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceManager</span></a> (implements org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationListener.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationListener</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceWALActionListener</span></a> (implements org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceWALReader.WALEntryBatch</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationStorageFactory.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ReplicationStorageFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSyncUp.DummyServer</span></a> (implements org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationThrottler</span></a></li>
@@ -3347,6 +3347,7 @@
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/SegmentScanner.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SegmentScanner</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/SendBufSizePredictor.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">SendBufSizePredictor</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">SequenceIdAccounting</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">SerialReplicationChecker</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/ServerAndLoad.html" title="class in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">ServerAndLoad</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://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.ipc.<a href="org/apache/hadoop/hbase/ipc/ServerCall.html" title="class in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">ServerCall</span></a>&lt;T&gt; (implements org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>, org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcResponse.html" title="interface in org.apache.hadoop.hbase.ipc">RpcResponse</a>)
 <ul>
@@ -4092,6 +4093,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALEdit</span></a> (implements org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">WALEntryBatch</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">WALEntryStream</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALKeyImpl</span></a> (implements org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>)</li>


[44/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index bc3a6aa..615ce8f 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180304" />
+    <meta name="Date-Revision-yyyymmdd" content="20180305" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -274,10 +274,10 @@
 <th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
 <th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
 <tr class="b">
-<td>3570</td>
+<td>3574</td>
 <td>0</td>
 <td>0</td>
-<td>16212</td></tr></table></div>
+<td>16184</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -455,7 +455,7 @@
 <td><a href="#org.apache.hadoop.hbase.HTableDescriptor.java">org/apache/hadoop/hbase/HTableDescriptor.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>38</td></tr>
+<td>36</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.HTestConst.java">org/apache/hadoop/hbase/HTestConst.java</a></td>
 <td>0</td>
@@ -4720,7 +4720,7 @@
 <td><a href="#org.apache.hadoop.hbase.master.MasterFileSystem.java">org/apache/hadoop/hbase/master/MasterFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>18</td></tr>
+<td>17</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterMobCompactionThread.java">org/apache/hadoop/hbase/master/MasterMobCompactionThread.java</a></td>
 <td>0</td>
@@ -7972,25 +7972,15 @@
 <td>0</td>
 <td>3</td></tr>
 <tr class="a">
-<td><a href="#org.apache.hadoop.hbase.replication.NamespaceTableCfWALEntryFilter.java">org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>2</td></tr>
-<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationEndpoint.java">org/apache/hadoop/hbase/replication/ReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.ReplicationException.java">org/apache/hadoop/hbase/replication/ReplicationException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
-<td><a href="#org.apache.hadoop.hbase.replication.ScopeWALEntryFilter.java">org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>11</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.SystemTableWALEntryFilter.java">org/apache/hadoop/hbase/replication/SystemTableWALEntryFilter.java</a></td>
 <td>0</td>
@@ -8025,7 +8015,7 @@
 <td><a href="#org.apache.hadoop.hbase.replication.TestReplicationDroppedTables.java">org/apache/hadoop/hbase/replication/TestReplicationDroppedTables.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>4</td></tr>
+<td>1</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.TestReplicationEndpoint.java">org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java</a></td>
 <td>0</td>
@@ -8162,2136 +8152,2131 @@
 <td>0</td>
 <td>4</td></tr>
 <tr class="a">
-<td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>3</td></tr>
-<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.ReplicationThrottler.java">org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.TestMetricsReplicationSourceFactoryImpl.java">org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactoryImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.TestMetricsReplicationSourceImpl.java">org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.TestRegionReplicaReplicationEndpointNoMaster.java">org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpointNoMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.TestReplicationSink.java">org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.TestReplicationSourceManager.java">org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.TestWALEntrySinkFilter.java">org/apache/hadoop/hbase/replication/regionserver/TestWALEntrySinkFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.TestWALEntryStream.java">org/apache/hadoop/hbase/replication/regionserver/TestWALEntryStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.WALEntrySinkFilter.java">org/apache/hadoop/hbase/replication/regionserver/WALEntrySinkFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.java">org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>6</td></tr>
-<tr class="b">
+<td>3</td></tr>
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.ExistsResource.java">org/apache/hadoop/hbase/rest/ExistsResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.HBaseRESTTestingUtility.java">org/apache/hadoop/hbase/rest/HBaseRESTTestingUtility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.MetricsREST.java">org/apache/hadoop/hbase/rest/MetricsREST.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.MetricsRESTSourceImpl.java">org/apache/hadoop/hbase/rest/MetricsRESTSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.MultiRowResource.java">org/apache/hadoop/hbase/rest/MultiRowResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.NamespacesInstanceResource.java">org/apache/hadoop/hbase/rest/NamespacesInstanceResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.NamespacesResource.java">org/apache/hadoop/hbase/rest/NamespacesResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.PerformanceEvaluation.java">org/apache/hadoop/hbase/rest/PerformanceEvaluation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.ProtobufMessageHandler.java">org/apache/hadoop/hbase/rest/ProtobufMessageHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RESTServer.java">org/apache/hadoop/hbase/rest/RESTServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.RESTServlet.java">org/apache/hadoop/hbase/rest/RESTServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RESTServletContainer.java">org/apache/hadoop/hbase/rest/RESTServletContainer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.RegionsResource.java">org/apache/hadoop/hbase/rest/RegionsResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.ResourceBase.java">org/apache/hadoop/hbase/rest/ResourceBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.ResultGenerator.java">org/apache/hadoop/hbase/rest/ResultGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RootResource.java">org/apache/hadoop/hbase/rest/RootResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.RowResource.java">org/apache/hadoop/hbase/rest/RowResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>60</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.RowResourceBase.java">org/apache/hadoop/hbase/rest/RowResourceBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.RowSpec.java">org/apache/hadoop/hbase/rest/RowSpec.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>32</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.ScannerInstanceResource.java">org/apache/hadoop/hbase/rest/ScannerInstanceResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.ScannerResource.java">org/apache/hadoop/hbase/rest/ScannerResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.ScannerResultGenerator.java">org/apache/hadoop/hbase/rest/ScannerResultGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.SchemaResource.java">org/apache/hadoop/hbase/rest/SchemaResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.StorageClusterStatusResource.java">org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.StorageClusterVersionResource.java">org/apache/hadoop/hbase/rest/StorageClusterVersionResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.TableResource.java">org/apache/hadoop/hbase/rest/TableResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.TableScanResource.java">org/apache/hadoop/hbase/rest/TableScanResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.TestGetAndPutResource.java">org/apache/hadoop/hbase/rest/TestGetAndPutResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.TestMetricsRESTSourceImpl.java">org/apache/hadoop/hbase/rest/TestMetricsRESTSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.TestMultiRowResource.java">org/apache/hadoop/hbase/rest/TestMultiRowResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.TestNamespacesInstanceResource.java">org/apache/hadoop/hbase/rest/TestNamespacesInstanceResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.TestNamespacesResource.java">org/apache/hadoop/hbase/rest/TestNamespacesResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.TestScannerResource.java">org/apache/hadoop/hbase/rest/TestScannerResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.TestScannersWithFilters.java">org/apache/hadoop/hbase/rest/TestScannersWithFilters.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>144</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.TestScannersWithLabels.java">org/apache/hadoop/hbase/rest/TestScannersWithLabels.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.TestSchemaResource.java">org/apache/hadoop/hbase/rest/TestSchemaResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.TestTableScan.java">org/apache/hadoop/hbase/rest/TestTableScan.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.VersionResource.java">org/apache/hadoop/hbase/rest/VersionResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.client.Client.java">org/apache/hadoop/hbase/rest/client/Client.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>29</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.client.RemoteAdmin.java">org/apache/hadoop/hbase/rest/client/RemoteAdmin.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>107</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.client.RemoteHTable.java">org/apache/hadoop/hbase/rest/client/RemoteHTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>122</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.client.Response.java">org/apache/hadoop/hbase/rest/client/Response.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.client.TestRemoteHTableRetries.java">org/apache/hadoop/hbase/rest/client/TestRemoteHTableRetries.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.client.TestRemoteTable.java">org/apache/hadoop/hbase/rest/client/TestRemoteTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.GZIPRequestStream.java">org/apache/hadoop/hbase/rest/filter/GZIPRequestStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.GZIPResponseStream.java">org/apache/hadoop/hbase/rest/filter/GZIPResponseStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.GzipFilter.java">org/apache/hadoop/hbase/rest/filter/GzipFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.filter.RestCsrfPreventionFilter.java">org/apache/hadoop/hbase/rest/filter/RestCsrfPreventionFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.CellModel.java">org/apache/hadoop/hbase/rest/model/CellModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.CellSetModel.java">org/apache/hadoop/hbase/rest/model/CellSetModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.ColumnSchemaModel.java">org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.NamespacesInstanceModel.java">org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.NamespacesModel.java">org/apache/hadoop/hbase/rest/model/NamespacesModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.ScannerModel.java">org/apache/hadoop/hbase/rest/model/ScannerModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>123</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.StorageClusterStatusModel.java">org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableInfoModel.java">org/apache/hadoop/hbase/rest/model/TableInfoModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableListModel.java">org/apache/hadoop/hbase/rest/model/TableListModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableModel.java">org/apache/hadoop/hbase/rest/model/TableModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableRegionModel.java">org/apache/hadoop/hbase/rest/model/TableRegionModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TableSchemaModel.java">org/apache/hadoop/hbase/rest/model/TableSchemaModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.model.TestStorageClusterStatusModel.java">org/apache/hadoop/hbase/rest/model/TestStorageClusterStatusModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.model.VersionModel.java">org/apache/hadoop/hbase/rest/model/VersionModel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.provider.JAXBContextResolver.java">org/apache/hadoop/hbase/rest/provider/JAXBContextResolver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rest.provider.consumer.ProtobufMessageBodyConsumer.java">org/apache/hadoop/hbase/rest/provider/consumer/ProtobufMessageBodyConsumer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.rest.provider.producer.PlainTextMessageBodyProducer.java">org/apache/hadoop/hbase/rest/provider/producer/PlainTextMessageBodyProducer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.rsgroup.IntegrationTestRSGroup.java">org/apache/hadoop/hbase/rsgroup/IntegrationTestRSGroup.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.AbstractHBaseSaslRpcClient.java">org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.AccessDeniedException.java">org/apache/hadoop/hbase/security/AccessDeniedException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.AuthMethod.java">org/apache/hadoop/hbase/security/AuthMethod.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.CryptoAESUnwrapHandler.java">org/apache/hadoop/hbase/security/CryptoAESUnwrapHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.CryptoAESWrapHandler.java">org/apache/hadoop/hbase/security/CryptoAESWrapHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.EncryptionUtil.java">org/apache/hadoop/hbase/security/EncryptionUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.HBaseKerberosUtils.java">org/apache/hadoop/hbase/security/HBaseKerberosUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.HBasePolicyProvider.java">org/apache/hadoop/hbase/security/HBasePolicyProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.HBaseSaslRpcClient.java">org/apache/hadoop/hbase/security/HBaseSaslRpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.HBaseSaslRpcServer.java">org/apache/hadoop/hbase/security/HBaseSaslRpcServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.HadoopSecurityEnabledUserProviderForTesting.java">org/apache/hadoop/hbase/security/HadoopSecurityEnabledUserProviderForTesting.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.NettyHBaseRpcConnectionHeaderHandler.java">org/apache/hadoop/hbase/security/NettyHBaseRpcConnectionHeaderHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClient.java">org/apache/hadoop/hbase/security/NettyHBaseSaslRpcClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.java">org/apache/hadoop/hbase/security/NettyHBaseSaslRpcClientHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.SaslChallengeDecoder.java">org/apache/hadoop/hbase/security/SaslChallengeDecoder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SaslStatus.java">org/apache/hadoop/hbase/security/SaslStatus.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.SaslUnwrapHandler.java">org/apache/hadoop/hbase/security/SaslUnwrapHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SaslUtil.java">org/apache/hadoop/hbase/security/SaslUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.SaslWrapHandler.java">org/apache/hadoop/hbase/security/SaslWrapHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SecurityInfo.java">org/apache/hadoop/hbase/security/SecurityInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.SecurityUtil.java">org/apache/hadoop/hbase/security/SecurityUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.Superusers.java">org/apache/hadoop/hbase/security/Superusers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.TestSecureIPC.java">org/apache/hadoop/hbase/security/TestSecureIPC.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.TestUser.java">org/apache/hadoop/hbase/security/TestUser.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.TestUsersOperationsWithSecureHadoop.java">org/apache/hadoop/hbase/security/TestUsersOperationsWithSecureHadoop.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.User.java">org/apache/hadoop/hbase/security/User.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlClient.java">org/apache/hadoop/hbase/security/access/AccessControlClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>49</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlFilter.java">org/apache/hadoop/hbase/security/access/AccessControlFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlLists.java">org/apache/hadoop/hbase/security/access/AccessControlLists.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlUtil.java">org/apache/hadoop/hbase/security/access/AccessControlUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>42</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessController.java">org/apache/hadoop/hbase/security/access/AccessController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AuthResult.java">org/apache/hadoop/hbase/security/access/AuthResult.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.Permission.java">org/apache/hadoop/hbase/security/access/Permission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint.java">org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.SecureTestUtil.java">org/apache/hadoop/hbase/security/access/SecureTestUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.ShadedAccessControlUtil.java">org/apache/hadoop/hbase/security/access/ShadedAccessControlUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>50</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.TableAuthManager.java">org/apache/hadoop/hbase/security/access/TableAuthManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>43</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.TablePermission.java">org/apache/hadoop/hbase/security/access/TablePermission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.TestAccessControlFilter.java">org/apache/hadoop/hbase/security/access/TestAccessControlFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.TestAccessController.java">org/apache/hadoop/hbase/security/access/TestAccessController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.TestAccessController2.java">org/apache/hadoop/hbase/security/access/TestAccessController2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.TestCellACLWithMultipleVersions.java">org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.TestCellACLs.java">org/apache/hadoop/hbase/security/access/TestCellACLs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.TestNamespaceCommands.java">org/apache/hadoop/hbase/security/access/TestNamespaceCommands.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.TestTablePermissions.java">org/apache/hadoop/hbase/security/access/TestTablePermissions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.TestWithDisabledAuthorization.java">org/apache/hadoop/hbase/security/access/TestWithDisabledAuthorization.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.UserPermission.java">org/apache/hadoop/hbase/security/access/UserPermission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.ZKPermissionWatcher.java">org/apache/hadoop/hbase/security/access/ZKPermissionWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationKey.java">org/apache/hadoop/hbase/security/token/AuthenticationKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationTokenIdentifier.java">org/apache/hadoop/hbase/security/token/AuthenticationTokenIdentifier.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager.java">org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationTokenSelector.java">org/apache/hadoop/hbase/security/token/AuthenticationTokenSelector.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.FsDelegationToken.java">org/apache/hadoop/hbase/security/token/FsDelegationToken.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.SecureTestCluster.java">org/apache/hadoop/hbase/security/token/SecureTestCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.TestTokenAuthentication.java">org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.TestZKSecretWatcher.java">org/apache/hadoop/hbase/security/token/TestZKSecretWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.TokenProvider.java">org/apache/hadoop/hbase/security/token/TokenProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.TokenUtil.java">org/apache/hadoop/hbase/security/token/TokenUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.ZKSecretWatcher.java">org/apache/hadoop/hbase/security/token/ZKSecretWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.CellVisibility.java">org/apache/hadoop/hbase/security/visibility/CellVisibility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.DefaultVisibilityLabelServiceImpl.java">org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.DefinedSetFilterScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/DefinedSetFilterScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.EnforcingScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/EnforcingScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ExpAsStringVisibilityLabelServiceImpl.java">org/apache/hadoop/hbase/security/visibility/ExpAsStringVisibilityLabelServiceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ExpressionExpander.java">org/apache/hadoop/hbase/security/visibility/ExpressionExpander.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ExpressionParser.java">org/apache/hadoop/hbase/security/visibility/ExpressionParser.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.FeedUserAuthScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/FeedUserAuthScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.LabelFilteringScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/LabelFilteringScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.LoadTestDataGeneratorWithVisibilityLabels.java">org/apache/hadoop/hbase/security/visibility/LoadTestDataGeneratorWithVisibilityLabels.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/ScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.SimpleScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/SimpleScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestExpressionExpander.java">org/apache/hadoop/hbase/security/visibility/TestExpressionExpander.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestExpressionParser.java">org/apache/hadoop/hbase/security/visibility/TestExpressionParser.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels.java">org/apache/hadoop/hbase/security/visibility/TestVisibilityLabels.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsOpWithDifferentUsersNoACL.java">org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsOpWithDifferentUsersNoACL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsReplication.java">org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithACL.java">org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithACL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithCustomVisLabService.java">org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithCustomVisLabService.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithDefaultVisLabelService.java">org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithDefaultVisLabelService.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithDeletes.java">org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithDeletes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.TestVisibilityLablesWithGroups.java">org/apache/hadoop/hbase/security/visibility/TestVisibilityLablesWithGroups.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityClient.java">org/apache/hadoop/hbase/security/visibility/VisibilityClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>38</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityConstants.java">org/apache/hadoop/hbase/security/visibility/VisibilityConstants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityController.java">org/apache/hadoop/hbase/security/visibility/VisibilityController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityExpEvaluator.java">org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelFilter.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelService.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelServiceManager.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelServiceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelsCache.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelsCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelsValidator.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelsValidator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityNewVersionBehaivorTracker.java">org/apache/hadoop/hbase/security/visibility/VisibilityNewVersionBehaivorTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityReplication.java">org/apache/hadoop/hbase/security/visibility/VisibilityReplication.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityReplicationEndpoint.java">org/apache/hadoop/hbase/security/visibility/VisibilityReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityScanDeleteTracker.java">org/apache/hadoop/hbase/security/visibility/VisibilityScanDeleteTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityTestUtil.java">org/apache/hadoop/hbase/security/visibility/VisibilityTestUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityUtils.java">org/apache/hadoop/hbase/security/visibility/VisibilityUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ZKVisibilityLabelWatcher.java">org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.java">org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>189</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.protobuf.RequestConverter.java">org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>112</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter.java">org/apache/hadoop/hbase/shaded/protobuf/ResponseConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.protobuf.TestProtobufUtil.java">org/apache/hadoop/hbase/shaded/protobuf/TestProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils.java">org/apache/hadoop/hbase/snapshot/ClientSnapshotDescriptionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.CorruptedSnapshotException.java">org/apache/hadoop/hbase/snapshot/CorruptedSnapshotException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.CreateSnapshot.java">org/apache/hadoop/hbase/snapshot/CreateSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>43</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.ExportSnapshot.java">org/apache/hadoop/hbase/snapshot/ExportSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.HBaseSnapshotException.java">org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils.java">org/apache/hadoop/hbase/snapshot/MobSnapshotTestingUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.RestoreSnapshotException.java">org/apache/hadoop/hbase/snapshot/RestoreSnapshotException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.java">org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotCreationException.java">org/apache/hadoop/hbase/snapshot/SnapshotCreationException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils.java">org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotDoesNotExistException.java">org/apache/hadoop/hbase/snapshot/SnapshotDoesNotExistException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotExistsException.java">org/apache/hadoop/hbase/snapshot/SnapshotExistsException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotInfo.java">org/apache/hadoop/hbase/snapshot/SnapshotInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotManifest.java">org/apache/hadoop/hbase/snapshot/SnapshotManifest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotManifestV2.java">org/apache/hadoop/hbase/snapshot/SnapshotManifestV2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils.java">org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.TablePartiallyOpenException.java">org/apache/hadoop/hbase/snapshot/TablePartiallyOpenException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.TestExportSnapshot.java">org/apache/hadoop/hbase/snapshot/TestExportSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.TestFlushSnapshotFromClient.java">org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.TestMobExportSnapshot.java">org/apache/hadoop/hbase/snapshot/TestMobExportSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.TestMobSecureExportSnapshot.java">org/apache/hadoop/hbase/snapshot/TestMobSecureExportSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.TestRestoreSnapshotHelper.java">org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.test.IntegrationTestBigLinkedList.java">org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>32</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.test.IntegrationTestBigLinkedListWithVisibility.java">org/apache/hadoop/hbase/test/IntegrationTestBigLinkedListWithVisibility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.test.IntegrationTestLoadAndVerify.java">org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>76</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.test.IntegrationTestReplication.java">org/apache/hadoop/hbase/test/IntegrationTestReplication.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.test.IntegrationTestTimeBoundedMultiGetRequestsWithRegionReplicas.java">org/apache/hadoop/hbase/test/IntegrationTestTimeBoundedMultiGetRequestsWithRegionReplicas.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.test.IntegrationTestTimeBoundedRequestsWithRegionReplicas.java">org/apache/hadoop/hbase/test/IntegrationTestTimeBoundedRequestsWithRegionReplicas.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.test.IntegrationTestWithCellVisibilityLoadAndVerify.java">org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.test.IntegrationTestZKAndFSPermissions.java">org/apache/hadoop/hbase/test/IntegrationTestZKAndFSPermissions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.test.MetricsAssertHelperImpl.java">org/apache/hadoop/hbase/test/MetricsAssertHelperImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.DemoClient.java">org/apache/hadoop/hbase/thrift/DemoClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>250</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.HttpDoAsClient.java">org/apache/hadoop/hbase/thrift/HttpDoAsClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceImpl.java">org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.TestMetricsThriftServerSourceFactoryImpl.java">org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactoryImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift2.DemoClient.java">org/apache/hadoop/hbase/thrift2/DemoClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.tool.Canary.java">org/apache/hadoop/hbase/tool/Canary.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>44</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.tool.LoadIncrementalHFiles.java">org/apache/hadoop/hbase/tool/LoadIncrementalHFiles.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.tool.MapreduceTestingShim.java">org/apache/hadoop/hbase/tool/MapreduceTestingShim.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.tool.TestCanaryTool.java">org/apache/hadoop/hbase/tool/TestCanaryTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.tool.TestLoadIncrementalHFiles.java">org/apache/hadoop/hbase/tool/TestLoadIncrementalHFiles.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.tool.TestLoadIncrementalHFilesSplitRecovery.java">org/apache/hadoop/hbase/tool/TestLoadIncrementalHFilesSplitRecovery.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.tool.WriteSinkCoprocessor.java">org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.trace.IntegrationTestSendTraceRequests.java">org/apache/hadoop/hbase/trace/IntegrationTestSendTraceRequests.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.trace.SpanReceiverHost.java">org/apache/hadoop/hbase/trace/SpanReceiverHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.trace.TraceTree.java">org/apache/hadoop/hbase/trace/TraceTree.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.trace.TraceUtil.java">org/apache/hadoop/hbase/trace/TraceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.PBCell.java">org/apache/hadoop/hbase/types/PBCell.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.TestCopyOnWriteMaps.java">org/apache/hadoop/hbase/types/TestCopyOnWriteMaps.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.TestOrderedBlob.java">org/apache/hadoop/hbase/types/TestOrderedBlob.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.TestOrderedString.java">org/apache/hadoop/hbase/types/TestOrderedString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.TestStruct.java">org/apache/hadoop/hbase/types/TestStruct.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.TestTerminatedWrapper.java">org/apache/hadoop/hbase/types/TestTerminatedWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.TestUnion2.java">org/apache/hadoop/hbase/types/TestUnion2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.AbstractByteRange.java">org/apache/hadoop/hbase/util/AbstractByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.AbstractFileStatusFilter.java">org/apache/hadoop/hbase/util/AbstractFileStatusFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.AbstractHBaseTool.java">org/apache/hadoop/hbase/util/AbstractHBaseTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.AbstractPositionedByteRange.java">org/apache/hadoop/hbase/util/AbstractPositionedByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Addressing.java">org/apache/hadoop/hbase/util/Addressing.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.AtomicUtils.java">org/apache/hadoop/hbase/util/AtomicUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.AvlUtil.java">org/apache/hadoop/hbase/util/AvlUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Base64.java">org/apache/hadoop/hbase/util/Base64.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>28</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.BaseTestHBaseFsck.java">org/apache/hadoop/hbase/util/BaseTestHBaseFsck.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.BloomContext.java">org/apache/hadoop/hbase/util/BloomContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.BloomFilter.java">org/apache/hadoop/hbase/util/BloomFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.BloomFilterChunk.java">org/apache/hadoop/hbase/util/BloomFilterChunk.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.BloomFilterFactory.java">org/apache/hadoop/hbase/util/BloomFilterFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.BloomFilterUtil.java">org/apache/hadoop/hbase/util/BloomFilterUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.BloomFilterWriter.java">org/apache/hadoop/hbase/util/BloomFilterWriter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.BoundedPriorityBlockingQueue.java">org/apache/hadoop/hbase/util/BoundedPriorityBlockingQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.BuilderStyleTest.java">org/apache/hadoop/hbase/util/BuilderStyleTest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ByteBufferArray.java">org/apache/hadoop/hbase/util/ByteBufferArray.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ByteBufferUtils.java">org/apache/hadoop/hbase/util/ByteBufferUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>45</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ByteRangeUtils.java">org/apache/hadoop/hbase/util/ByteRangeUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Bytes.java">org/apache/hadoop/hbase/util/Bytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>85</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ChecksumType.java">org/apache/hadoop/hbase/util/ChecksumType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ClassLoaderTestHelper.java">org/apache/hadoop/hbase/util/ClassLoaderTestHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ClassSize.java">org/apache/hadoop/hbase/util/ClassSize.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Classes.java">org/apache/hadoop/hbase/util/Classes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.CollectionBackedScanner.java">org/apache/hadoop/hbase/util/CollectionBackedScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.CollectionUtils.java">org/apache/hadoop/hbase/util/CollectionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.CommonFSUtils.java">org/apache/hadoop/hbase/util/CommonFSUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.CompressionTest.java">org/apache/hadoop/hbase/util/CompressionTest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ConcatenatedLists.java">org/apache/hadoop/hbase/util/ConcatenatedLists.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ConfigurationUtil.java">org/apache/hadoop/hbase/util/ConfigurationUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ConnectionCache.java">org/apache/hadoop/hbase/util/ConnectionCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ConstantDelayQueue.java">org/apache/hadoop/hbase/util/ConstantDelayQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.CoprocessorClassLoader.java">org/apache/hadoop/hbase/util/CoprocessorClassLoader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Counter.java">org/apache/hadoop/hbase/util/Counter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.DirectMemoryUtils.java">org/apache/hadoop/hbase/util/DirectMemoryUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.DynamicClassLoader.java">org/apache/hadoop/hbase/util/DynamicClassLoader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>26</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.EncryptionTest.java">org/apache/hadoop/hbase/util/EncryptionTest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.EnvironmentEdgeManager.java">org/apache/hadoop/hbase/util/EnvironmentEdgeManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.EnvironmentEdgeManagerTestHelper.java">org/apache/hadoop/hbase/util/EnvironmentEdgeManagerTestHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ExceptionUtil.java">org/apache/hadoop/hbase/util/ExceptionUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.FSHDFSUtils.java">org/apache/hadoop/hbase/util/FSHDFSUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.FSMapRUtils.java">org/apache/hadoop/hbase/util/FSMapRUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.FSRegionScanner.java">org/apache/hadoop/hbase/util/FSRegionScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.FSTableDescriptors.java">org/apache/hadoop/hbase/util/FSTableDescriptors.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>22</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.FSUtils.java">org/apache/hadoop/hbase/util/FSUtils.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>64</td></tr>
-<tr class="a">
+<td>61</td></tr>
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.FSVisitor.java">org/apache/hadoop/hbase/util/FSVisitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.FileStatusFilter.java">org/apache/hadoop/hbase/util/FileStatusFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.GetJavaProperty.java">org/apache/hadoop/hbase/util/GetJavaProperty.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HBaseConfTool.java">org/apache/hadoop/hbase/util/HBaseConfTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.HBaseFsck.java">org/apache/hadoop/hbase/util/HBaseFsck.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>97</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HBaseFsckRepair.java">org/apache/hadoop/hbase/util/HBaseFsckRepair.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.HBaseHomePath.java">org/apache/hadoop/hbase/util/HBaseHomePath.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HFileArchiveTestingUtil.java">org/apache/hadoop/hbase/util/HFileArchiveTestingUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.HFileArchiveUtil.java">org/apache/hadoop/hbase/util/HFileArchiveUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HFileTestUtil.java">org/apache/hadoop/hbase/util/HFileTestUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Hash.java">org/apache/hadoop/hbase/util/Hash.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HashKey.java">org/apache/hadoop/hbase/util/HashKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.HashedBytes.java">org/apache/hadoop/hbase/util/HashedBytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.IdLock.java">org/apache/hadoop/hbase/util/IdLock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.IdReadWriteLock.java">org/apache/hadoop/hbase/util/IdReadWriteLock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.JRubyFormat.java">org/apache/hadoop/hbase/util/JRubyFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.JSONBean.java">org/apache/hadoop/hbase/util/JSONBean.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.JSONMetricUtil.java">org/apache/hadoop/hbase/util/JSONMetricUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.JVM.java">org/apache/hadoop/hbase/util/JVM.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.JVMClusterUtil.java">org/apache/hadoop/hbase/util/JVMClusterUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.JenkinsHash.java">org/apache/hadoop/hbase/util/JenkinsHash.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>39</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.JsonMapper.java">org/apache/hadoop/hbase/util/JsonMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.JvmPauseMonitor.java">org/apache/hadoop/hbase/util/JvmPauseMonitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.KeyLocker.java">org/apache/hadoop/hbase/util/KeyLocker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.LoadTestDataGeneratorWithMOB.java">org/apache/hadoop/hbase/util/LoadTestDataGeneratorWithMOB.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.LoadTestDataGeneratorWithTags.java">org/apache/hadoop/hbase/util/LoadTestDataGeneratorWithTags.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.LoadTestTool.java">org/apache/hadoop/hbase/util/LoadTestTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MD5Hash.java">org/apache/hadoop/hbase/util/MD5Hash.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ManualEnvironmentEdge.java">org/apache/hadoop/hbase/util/ManualEnvironmentEdge.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MapreduceDependencyClasspathTool.java">org/apache/hadoop/hbase/util/MapreduceDependencyClasspathTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Methods.java">org/apache/hadoop/hbase/util/Methods.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MockServer.java">org/apache/hadoop/hbase/util/MockServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ModifyRegionUtils.java">org/apache/hadoop/hbase/util/ModifyRegionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MultiHConnection.java">org/apache/hadoop/hbase/util/MultiHConnection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.MultiThreadedAction.java">org/apache/hadoop/hbase/util/MultiThreadedAction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MultiThreadedReader.java">org/apache/hadoop/hbase/util/MultiThreadedReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.MultiThreadedReaderWithACL.java">org/apache/hadoop/hbase/util/MultiThreadedReaderWithACL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MultiThreadedUpdater.java">org/apache/hadoop/hbase/util/MultiThreadedUpdater.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.MultiThreadedWriter.java">org/apache/hadoop/hbase/util/MultiThreadedWriter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MultiThreadedWriterBase.java">org/apache/hadoop/hbase/util/MultiThreadedWriterBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.MunkresAssignment.java">org/apache/hadoop/hbase/util/MunkresAssignment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MurmurHash3.java">org/apache/hadoop/hbase/util/MurmurHash3.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.NettyEventLoopGroupConfig.java">org/apache/hadoop/hbase/util/NettyEventLoopGroupConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Order.java">org/apache/hadoop/hbase/util/Order.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.OrderedBytes.java">org/apache/hadoop/hbase/util/OrderedBytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>44</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Pair.java">org/apache/hadoop/hbase/util/Pair.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.PairOfSameType.java">org/apache/hadoop/hbase/util/PairOfSameType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.PoolMap.java">org/apache/hadoop/hbase/util/PoolMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.PositionedByteRange.java">org/apache/hadoop/hbase/util/PositionedByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.PrettyPrinter.java">org/apache/hadoop/hbase/util/PrettyPrinter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ProcessBasedLocalHBaseCluster.java">org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ProtoUtil.java">org/apache/hadoop/hbase/util/ProtoUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.RedundantKVGenerator.java">org/apache/hadoop/hbase/util/RedundantKVGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ReflectionUtils.java">org/apache/hadoop/hbase/util/ReflectionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.RegionMover.java">org/apache/hadoop/hbase/util/RegionMover.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>35</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.RegionSplitCalculator.java">org/apache/hadoop/hbase/util/RegionSplitCalculator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.RegionSplitter.java">org/apache/hadoop/hbase/util/RegionSplitter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.RetryCounter.java">org/apache/hadoop/hbase/util/RetryCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.RollingStatCalculator.java">org/apache/hadoop/hbase/util/RollingStatCalculator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.RowBloomContext.java">org/apache/hadoop/hbase/util/RowBloomContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ServerCommandLine.java">org/apache/hadoop/hbase/util/ServerCommandLine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ServerRegionReplicaUtil.java">org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ShutdownHookManager.java">org/apache/hadoop/hbase/util/ShutdownHookManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.SimpleByteRange.java">org/apache/hadoop/hbase/util/SimpleByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.SimpleMutableByteRange.java">org/apache/hadoop/hbase/util/SimpleMutableByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.SimplePositionedByteRange.java">org/apache/hadoop/hbase/util/SimplePositionedByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.SimplePositionedMutableByteRange.java">org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Sleeper.java">org/apache/hadoop/hbase/util/Sleeper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.StealJobQueue.java">org/apache/hadoop/hbase/util/StealJobQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.StoppableImplementation.java">org/apache/hadoop/hbase/util/StoppableImplementation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Strings.java">org/apache/hadoop/hbase/util/Strings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestBase64.java">org/apache/hadoop/hbase/util/TestBase64.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestBloomFilterChunk.java">org/apache/hadoop/hbase/util/TestBloomFilterChunk.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestBytes.java">org/apache/hadoop/hbase/util/TestBytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestCompressionTest.java">org/apache/hadoop/hbase/util/TestCompressionTest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestCoprocessorClassLoader.java">org/apache/hadoop/hbase/util/TestCoprocessorClassLoader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestCoprocessorScanPolicy.java">org/apache/hadoop/hbase/util/TestCoprocessorScanPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestFSTableDescriptors.java">org/apache/hadoop/hbase/util/TestFSTableDescriptors.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestFSUtils.java">org/apache/hadoop/hbase/util/TestFSUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestFSVisitor.java">org/apache/hadoop/hbase/util/TestFSVisitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestHFileArchiveUtil.java">org/apache/hadoop/hbase/util/TestHFileArchiveUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestIdLock.java">org/apache/hadoop/hbase/util/TestIdLock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestIdReadWriteLock.java">org/apache/hadoop/hbase/util/TestIdReadWriteLock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestMiniClusterLoadEncoded.java">org/apache/hadoop/hbase/util/TestMiniClusterLoadEncoded.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestMiniClusterLoadSequential.java">org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestOrderedBytes.java">org/apache/hadoop/hbase/util/TestOrderedBytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>30</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestRegionSplitter.java">org/apache/hadoop/hbase/util/TestRegionSplitter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>192</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.TestSimplePositionedMutableByteRange.java">org/apache/hadoop/hbase/util/TestSimplePositionedMutableByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TestSortedList.java">org/apache/hadoop/hbase/util/TestSortedList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Threads.java">org/apache/hadoop/hbase/util/Threads.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.TimeOffsetEnvironmentEdge.java">org/apache/hadoop/hbase/util/TimeOffsetEnvironmentEdge.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Triple.java">org/apache/hadoop/hbase/util/Triple.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.UnsafeAccess.java">org/apache/hadoop/hbase/util/UnsafeAccess.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>35</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.UnsafeAvailChecker.java">org/apache/hadoop/hbase/util/UnsafeAvailChecker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.VersionInfo.java">org/apache/hadoop/hbase/util/VersionInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Writables.java">org/apache/hadoop/hbase/util/Writables.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ZKDataMigrator.java">org/apache/hadoop/hbase/util/ZKDataMigrator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.compaction.MajorCompactor.java">org/apache/hadoop/hbase/util/compaction/MajorCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.compaction.TestMajorCompactionRequest.java">org/apache/hadoop/hbase/util/compaction/TestMajorCompactionRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.compaction.TestMajorCompactor.java">org/apache/hadoop/hbase/util/compaction/TestMajorCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.hbck.HFileCorruptionChecker.java">org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.hbck.HbckTestingUtil.java">org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.hbck.OfflineMetaRebuildTestCore.java">org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair.java">org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.test.LoadTestDataGenerator.java">org/apache/hadoop/hbase/util/test/LoadTestDataGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.test.LoadTestDataGeneratorWithACL.java">org/apache/hadoop/hbase/util/test/LoadTestDataGeneratorWithACL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.AbstractFSWALProvider.java">org/apache/hadoop/hbase/wal/AbstractFSWALProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.BoundedGroupingStrategy.java">org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.DisabledWALProvider.java">org/apache/hadoop/hbase/wal/DisabledWALProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.IOTestProvider.java">org/apache/hadoop/hbase/wal/IOTestProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.NamespaceGroupingStrategy.java">org/apache/hadoop/hbase/wal/NamespaceGroupingStrategy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.NettyAsyncFSWALConfigHelper.java">org/apache/hadoop/hbase/wal/NettyAsyncFSWALConfigHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.TestBoundedRegionGroupingStrategy.java">org/apache/hadoop/hbase/wal/TestBoundedRegionGroupingStrategy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.TestFSHLogProvider.java">org/apache/hadoop/hbase/wal/TestFSHLogProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.TestWALFactory.java">org/apache/hadoop/hbase/wal/TestWALFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.TestWALMethods.java">org/apache/hadoop/hbase/wal/TestWALMethods.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.TestWALOpenAfterDNRollingStart.java">org/apache/hadoop/hbase/wal/TestWALOpenAfterDNRollingStart.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.TestWALReaderOnSecureWAL.java">org/apache/hadoop/hbase/wal/TestWALReaderOnSecureWAL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.TestWALRootDir.java">org/apache/hadoop/hbase/wal/TestWALRootDir.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.TestWALSplit.java">org/apache/hadoop/hbase/wal/TestWALSplit.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.WAL.java">org/apache/hadoop/hbase/wal/WAL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.WALEdit.java">org/apache/hadoop/hbase/wal/WALEdit.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.WALFactory.java">org/apache/hadoop/hbase/wal/WALFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.WALKey.java">o

<TRUNCATED>

[21/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
index e828a9b..a99f492 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
@@ -495,841 +495,853 @@
 <span class="sourceLineNo">487</span>  /** The serialized table state qualifier */<a name="line.487"></a>
 <span class="sourceLineNo">488</span>  public static final byte[] TABLE_STATE_QUALIFIER = Bytes.toBytes("state");<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>   * The meta table version column qualifier.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * We keep current version of the meta table in this column in &lt;code&gt;-ROOT-&lt;/code&gt;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * table: i.e. in the 'info:v' column.<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   */<a name="line.495"></a>
-<span class="sourceLineNo">496</span>  public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v");<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>  /**<a name="line.498"></a>
-<span class="sourceLineNo">499</span>   * The current version of the meta table.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>   * - pre-hbase 0.92.  There is no META_VERSION column in the root table<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * in this case. The meta has HTableDescriptor serialized into the HRegionInfo;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * - version 0 is 0.92 and 0.94. Meta data has serialized HRegionInfo's using<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Writable serialization, and HRegionInfo's does not contain HTableDescriptors.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * - version 1 for 0.96+ keeps HRegionInfo data structures, but changes the<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * byte[] serialization from Writables to Protobuf.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * See HRegionInfo.VERSION<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  public static final short META_VERSION = 1;<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>  // Other constants<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>   * An empty instance.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  public static final byte [] EMPTY_BYTE_ARRAY = new byte [0];<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>  public static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.wrap(EMPTY_BYTE_ARRAY);<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>   * Used by scanners, etc when they want to start at the beginning of a region<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  public static final byte [] EMPTY_START_ROW = EMPTY_BYTE_ARRAY;<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>   * Last row in a table.<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public static final byte [] EMPTY_END_ROW = EMPTY_START_ROW;<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>    * Used by scanners and others when they're trying to detect the end of a<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    * table<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  public static final byte [] LAST_ROW = EMPTY_BYTE_ARRAY;<a name="line.533"></a>
+<span class="sourceLineNo">490</span>  /** The replication barrier family as a string*/<a name="line.490"></a>
+<span class="sourceLineNo">491</span>  public static final String REPLICATION_BARRIER_FAMILY_STR = "rep_barrier";<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>  /** The replication barrier family */<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  public static final byte[] REPLICATION_BARRIER_FAMILY =<a name="line.494"></a>
+<span class="sourceLineNo">495</span>      Bytes.toBytes(REPLICATION_BARRIER_FAMILY_STR);<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>   * The meta table version column qualifier.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * We keep current version of the meta table in this column in &lt;code&gt;-ROOT-&lt;/code&gt;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * table: i.e. in the 'info:v' column.<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   */<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v");<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>  /**<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * The current version of the meta table.<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * - pre-hbase 0.92.  There is no META_VERSION column in the root table<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   * in this case. The meta has HTableDescriptor serialized into the HRegionInfo;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>   * - version 0 is 0.92 and 0.94. Meta data has serialized HRegionInfo's using<a name="line.508"></a>
+<span class="sourceLineNo">509</span>   * Writable serialization, and HRegionInfo's does not contain HTableDescriptors.<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   * - version 1 for 0.96+ keeps HRegionInfo data structures, but changes the<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   * byte[] serialization from Writables to Protobuf.<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   * See HRegionInfo.VERSION<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   */<a name="line.513"></a>
+<span class="sourceLineNo">514</span>  public static final short META_VERSION = 1;<a name="line.514"></a>
+<span class="sourceLineNo">515</span><a name="line.515"></a>
+<span class="sourceLineNo">516</span>  // Other constants<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>   * An empty instance.<a name="line.519"></a>
+<span class="sourceLineNo">520</span>   */<a name="line.520"></a>
+<span class="sourceLineNo">521</span>  public static final byte [] EMPTY_BYTE_ARRAY = new byte [0];<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>  public static final ByteBuffer EMPTY_BYTE_BUFFER = ByteBuffer.wrap(EMPTY_BYTE_ARRAY);<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>   * Used by scanners, etc when they want to start at the beginning of a region<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   */<a name="line.527"></a>
+<span class="sourceLineNo">528</span>  public static final byte [] EMPTY_START_ROW = EMPTY_BYTE_ARRAY;<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>   * Last row in a table.<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
+<span class="sourceLineNo">533</span>  public static final byte [] EMPTY_END_ROW = EMPTY_START_ROW;<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>   * Max length a row can have because of the limitation in TFile.<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   */<a name="line.537"></a>
-<span class="sourceLineNo">538</span>  public static final int MAX_ROW_LENGTH = Short.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the latest cell.<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   *<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   * On client side, this is the timestamp set by default when no timestamp is specified,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>   * to refer to the latest.<a name="line.544"></a>
-<span class="sourceLineNo">545</span>   * On server side, this acts as a notation.<a name="line.545"></a>
-<span class="sourceLineNo">546</span>   * (1) For a cell of Put, which has this notation,<a name="line.546"></a>
-<span class="sourceLineNo">547</span>   *     its timestamp will be replaced with server's current time.<a name="line.547"></a>
-<span class="sourceLineNo">548</span>   * (2) For a cell of Delete, which has this notation,<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   *     A. If the cell is of {@link KeyValue.Type#Delete}, HBase issues a Get operation firstly.<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   *        a. When the count of cell it gets is less than the count of cell to delete,<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   *           the timestamp of Delete cell will be replaced with server's current time.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   *        b. When the count of cell it gets is equal to the count of cell to delete,<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   *           the timestamp of Delete cell will be replaced with the latest timestamp of cell it<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   *           gets.<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   *       (c. It is invalid and an exception will be thrown,<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   *           if the count of cell it gets is greater than the count of cell to delete,<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   *           as the max version of Get is set to the count of cell to delete.)<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   *     B. If the cell is of other Delete types, like {@link KeyValue.Type#DeleteFamilyVersion},<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   *        {@link KeyValue.Type#DeleteColumn}, or {@link KeyValue.Type#DeleteFamily},<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   *        the timestamp of Delete cell will be replaced with server's current time.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   *<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * So that is why it is named as "latest" but assigned as the max value of Long.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   */<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  public static final long LATEST_TIMESTAMP = Long.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the oldest cell.<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * Special! Used in fake Cells only. Should never be the timestamp on an actual Cell returned to<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * a client.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @deprecated Should not be public since hbase-1.3.0. For internal use only. Move internal to<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   *   Scanners flagged as special timestamp value never to be returned as timestamp on a Cell.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  @Deprecated<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public static final long OLDEST_TIMESTAMP = Long.MIN_VALUE;<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>   * LATEST_TIMESTAMP in bytes form<a name="line.577"></a>
+<span class="sourceLineNo">536</span>    * Used by scanners and others when they're trying to detect the end of a<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    * table<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    */<a name="line.538"></a>
+<span class="sourceLineNo">539</span>  public static final byte [] LAST_ROW = EMPTY_BYTE_ARRAY;<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>   * Max length a row can have because of the limitation in TFile.<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   */<a name="line.543"></a>
+<span class="sourceLineNo">544</span>  public static final int MAX_ROW_LENGTH = Short.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the latest cell.<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   *<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * On client side, this is the timestamp set by default when no timestamp is specified,<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * to refer to the latest.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * On server side, this acts as a notation.<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * (1) For a cell of Put, which has this notation,<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   *     its timestamp will be replaced with server's current time.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   * (2) For a cell of Delete, which has this notation,<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   *     A. If the cell is of {@link KeyValue.Type#Delete}, HBase issues a Get operation firstly.<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   *        a. When the count of cell it gets is less than the count of cell to delete,<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   *           the timestamp of Delete cell will be replaced with server's current time.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   *        b. When the count of cell it gets is equal to the count of cell to delete,<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   *           the timestamp of Delete cell will be replaced with the latest timestamp of cell it<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   *           gets.<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   *       (c. It is invalid and an exception will be thrown,<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   *           if the count of cell it gets is greater than the count of cell to delete,<a name="line.562"></a>
+<span class="sourceLineNo">563</span>   *           as the max version of Get is set to the count of cell to delete.)<a name="line.563"></a>
+<span class="sourceLineNo">564</span>   *     B. If the cell is of other Delete types, like {@link KeyValue.Type#DeleteFamilyVersion},<a name="line.564"></a>
+<span class="sourceLineNo">565</span>   *        {@link KeyValue.Type#DeleteColumn}, or {@link KeyValue.Type#DeleteFamily},<a name="line.565"></a>
+<span class="sourceLineNo">566</span>   *        the timestamp of Delete cell will be replaced with server's current time.<a name="line.566"></a>
+<span class="sourceLineNo">567</span>   *<a name="line.567"></a>
+<span class="sourceLineNo">568</span>   * So that is why it is named as "latest" but assigned as the max value of Long.<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   */<a name="line.569"></a>
+<span class="sourceLineNo">570</span>  public static final long LATEST_TIMESTAMP = Long.MAX_VALUE;<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>   * Timestamp to use when we want to refer to the oldest cell.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * Special! Used in fake Cells only. Should never be the timestamp on an actual Cell returned to<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * a client.<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * @deprecated Should not be public since hbase-1.3.0. For internal use only. Move internal to<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   *   Scanners flagged as special timestamp value never to be returned as timestamp on a Cell.<a name="line.577"></a>
 <span class="sourceLineNo">578</span>   */<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public static final byte [] LATEST_TIMESTAMP_BYTES = {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    // big-endian<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 56),<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 48),<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 40),<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 32),<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 24),<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 16),<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 8),<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    (byte) LATEST_TIMESTAMP,<a name="line.588"></a>
-<span class="sourceLineNo">589</span>  };<a name="line.589"></a>
-<span class="sourceLineNo">590</span><a name="line.590"></a>
-<span class="sourceLineNo">591</span>  /**<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * Define for 'return-all-versions'.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>  public static final int ALL_VERSIONS = Integer.MAX_VALUE;<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>   * Unlimited time-to-live.<a name="line.597"></a>
-<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
-<span class="sourceLineNo">599</span>//  public static final int FOREVER = -1;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  public static final int FOREVER = Integer.MAX_VALUE;<a name="line.600"></a>
+<span class="sourceLineNo">579</span>  @Deprecated<a name="line.579"></a>
+<span class="sourceLineNo">580</span>  public static final long OLDEST_TIMESTAMP = Long.MIN_VALUE;<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>   * LATEST_TIMESTAMP in bytes form<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   */<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  public static final byte [] LATEST_TIMESTAMP_BYTES = {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    // big-endian<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 56),<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 48),<a name="line.588"></a>
+<span class="sourceLineNo">589</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 40),<a name="line.589"></a>
+<span class="sourceLineNo">590</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 32),<a name="line.590"></a>
+<span class="sourceLineNo">591</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 24),<a name="line.591"></a>
+<span class="sourceLineNo">592</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 16),<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    (byte) (LATEST_TIMESTAMP &gt;&gt;&gt; 8),<a name="line.593"></a>
+<span class="sourceLineNo">594</span>    (byte) LATEST_TIMESTAMP,<a name="line.594"></a>
+<span class="sourceLineNo">595</span>  };<a name="line.595"></a>
+<span class="sourceLineNo">596</span><a name="line.596"></a>
+<span class="sourceLineNo">597</span>  /**<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * Define for 'return-all-versions'.<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   */<a name="line.599"></a>
+<span class="sourceLineNo">600</span>  public static final int ALL_VERSIONS = Integer.MAX_VALUE;<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>   * Seconds in a day, hour and minute<a name="line.603"></a>
+<span class="sourceLineNo">603</span>   * Unlimited time-to-live.<a name="line.603"></a>
 <span class="sourceLineNo">604</span>   */<a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public static final int DAY_IN_SECONDS = 24 * 60 * 60;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>  public static final int HOUR_IN_SECONDS = 60 * 60;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  public static final int MINUTE_IN_SECONDS = 60;<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>  //TODO: although the following are referenced widely to format strings for<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  //      the shell. They really aren't a part of the public API. It would be<a name="line.610"></a>
-<span class="sourceLineNo">611</span>  //      nice if we could put them somewhere where they did not need to be<a name="line.611"></a>
-<span class="sourceLineNo">612</span>  //      public. They could have package visibility<a name="line.612"></a>
-<span class="sourceLineNo">613</span>  public static final String NAME = "NAME";<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  public static final String VERSIONS = "VERSIONS";<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  public static final String IN_MEMORY = "IN_MEMORY";<a name="line.615"></a>
-<span class="sourceLineNo">616</span>  public static final String METADATA = "METADATA";<a name="line.616"></a>
-<span class="sourceLineNo">617</span>  public static final String CONFIGURATION = "CONFIGURATION";<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>   * Retrying we multiply hbase.client.pause setting by what we have in this array until we<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * run out of array items.  Retries beyond this use the last number in the array.  So, for<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   * example, if hbase.client.pause is 1 second, and maximum retries count<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   * hbase.client.retries.number is 10, we will retry at the following intervals:<a name="line.623"></a>
-<span class="sourceLineNo">624</span>   * 1, 2, 3, 5, 10, 20, 40, 100, 100, 100.<a name="line.624"></a>
-<span class="sourceLineNo">625</span>   * With 100ms, a back-off of 200 means 20s<a name="line.625"></a>
-<span class="sourceLineNo">626</span>   */<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  public static final int [] RETRY_BACKOFF = {1, 2, 3, 5, 10, 20, 40, 100, 100, 100, 100, 200, 200};<a name="line.627"></a>
-<span class="sourceLineNo">628</span><a name="line.628"></a>
-<span class="sourceLineNo">629</span>  public static final String REGION_IMPL = "hbase.hregion.impl";<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>   * Scope tag for locally scoped data.<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * This data will not be replicated.<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   */<a name="line.634"></a>
-<span class="sourceLineNo">635</span>  public static final int REPLICATION_SCOPE_LOCAL = 0;<a name="line.635"></a>
+<span class="sourceLineNo">605</span>//  public static final int FOREVER = -1;<a name="line.605"></a>
+<span class="sourceLineNo">606</span>  public static final int FOREVER = Integer.MAX_VALUE;<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>   * Seconds in a day, hour and minute<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   */<a name="line.610"></a>
+<span class="sourceLineNo">611</span>  public static final int DAY_IN_SECONDS = 24 * 60 * 60;<a name="line.611"></a>
+<span class="sourceLineNo">612</span>  public static final int HOUR_IN_SECONDS = 60 * 60;<a name="line.612"></a>
+<span class="sourceLineNo">613</span>  public static final int MINUTE_IN_SECONDS = 60;<a name="line.613"></a>
+<span class="sourceLineNo">614</span><a name="line.614"></a>
+<span class="sourceLineNo">615</span>  //TODO: although the following are referenced widely to format strings for<a name="line.615"></a>
+<span class="sourceLineNo">616</span>  //      the shell. They really aren't a part of the public API. It would be<a name="line.616"></a>
+<span class="sourceLineNo">617</span>  //      nice if we could put them somewhere where they did not need to be<a name="line.617"></a>
+<span class="sourceLineNo">618</span>  //      public. They could have package visibility<a name="line.618"></a>
+<span class="sourceLineNo">619</span>  public static final String NAME = "NAME";<a name="line.619"></a>
+<span class="sourceLineNo">620</span>  public static final String VERSIONS = "VERSIONS";<a name="line.620"></a>
+<span class="sourceLineNo">621</span>  public static final String IN_MEMORY = "IN_MEMORY";<a name="line.621"></a>
+<span class="sourceLineNo">622</span>  public static final String METADATA = "METADATA";<a name="line.622"></a>
+<span class="sourceLineNo">623</span>  public static final String CONFIGURATION = "CONFIGURATION";<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>   * Retrying we multiply hbase.client.pause setting by what we have in this array until we<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   * run out of array items.  Retries beyond this use the last number in the array.  So, for<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   * example, if hbase.client.pause is 1 second, and maximum retries count<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   * hbase.client.retries.number is 10, we will retry at the following intervals:<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * 1, 2, 3, 5, 10, 20, 40, 100, 100, 100.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   * With 100ms, a back-off of 200 means 20s<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
+<span class="sourceLineNo">633</span>  public static final int [] RETRY_BACKOFF = {1, 2, 3, 5, 10, 20, 40, 100, 100, 100, 100, 200, 200};<a name="line.633"></a>
+<span class="sourceLineNo">634</span><a name="line.634"></a>
+<span class="sourceLineNo">635</span>  public static final String REGION_IMPL = "hbase.hregion.impl";<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>   * Scope tag for globally scoped data.<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * This data will be replicated to all peers.<a name="line.639"></a>
+<span class="sourceLineNo">638</span>   * Scope tag for locally scoped data.<a name="line.638"></a>
+<span class="sourceLineNo">639</span>   * This data will not be replicated.<a name="line.639"></a>
 <span class="sourceLineNo">640</span>   */<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  public static final int REPLICATION_SCOPE_GLOBAL = 1;<a name="line.641"></a>
+<span class="sourceLineNo">641</span>  public static final int REPLICATION_SCOPE_LOCAL = 0;<a name="line.641"></a>
 <span class="sourceLineNo">642</span><a name="line.642"></a>
 <span class="sourceLineNo">643</span>  /**<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * Default cluster ID, cannot be used to identify a cluster so a key with<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * this value means it wasn't meant for replication.<a name="line.645"></a>
+<span class="sourceLineNo">644</span>   * Scope tag for globally scoped data.<a name="line.644"></a>
+<span class="sourceLineNo">645</span>   * This data will be replicated to all peers.<a name="line.645"></a>
 <span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);<a name="line.647"></a>
+<span class="sourceLineNo">647</span>  public static final int REPLICATION_SCOPE_GLOBAL = 1;<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   * Controlled by the client.<a name="line.651"></a>
+<span class="sourceLineNo">650</span>   * Scope tag for serially scoped data<a name="line.650"></a>
+<span class="sourceLineNo">651</span>   * This data will be replicated to all peers by the order of sequence id.<a name="line.651"></a>
 <span class="sourceLineNo">652</span>   */<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  public static final String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      "hbase.client.scanner.max.result.size";<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * Controlled by the server.<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  public static final String HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      "hbase.server.scanner.max.result.size";<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   * Note that when a single row is larger than this limit the row is still<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   * returned completely.<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   *<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * The default value is 2MB.<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   */<a name="line.669"></a>
-<span class="sourceLineNo">670</span>  public static final long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = 2 * 1024 * 1024;<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * Note that when a single row is larger than this limit the row is still<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   * returned completely.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   * Safety setting to protect the region server.<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   *<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * The default value is 100MB. (a client would rarely request larger chunks on purpose)<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   */<a name="line.679"></a>
-<span class="sourceLineNo">680</span>  public static final long DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE = 100 * 1024 * 1024;<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>   * Parameter name for client pause value, used mostly as value to wait<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * before running a retry of a failed get, region lookup, etc.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  public static final String HBASE_CLIENT_PAUSE = "hbase.client.pause";<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>   * Default value of {@link #HBASE_CLIENT_PAUSE}.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   */<a name="line.690"></a>
-<span class="sourceLineNo">691</span>  public static final long DEFAULT_HBASE_CLIENT_PAUSE = 100;<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>   * Parameter name for client pause value for special case such as call queue too big, etc.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   */<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  public static final String HBASE_CLIENT_PAUSE_FOR_CQTBE = "hbase.client.pause.cqtbe";<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>   * The maximum number of concurrent connections the client will maintain.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static final String HBASE_CLIENT_MAX_TOTAL_TASKS = "hbase.client.max.total.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_TOTAL_TASKS}.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   */<a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS = 100;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * RegionServer.<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   */<a name="line.711"></a>
-<span class="sourceLineNo">712</span>  public static final String HBASE_CLIENT_MAX_PERSERVER_TASKS = "hbase.client.max.perserver.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERSERVER_TASKS}.<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   */<a name="line.716"></a>
-<span class="sourceLineNo">717</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS = 2;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * Region.<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   */<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  public static final String HBASE_CLIENT_MAX_PERREGION_TASKS = "hbase.client.max.perregion.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERREGION_TASKS}.<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   */<a name="line.727"></a>
-<span class="sourceLineNo">728</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS = 1;<a name="line.728"></a>
-<span class="sourceLineNo">729</span><a name="line.729"></a>
-<span class="sourceLineNo">730</span>  /**<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   * The maximum number of concurrent pending RPC requests for one server in process level.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   */<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  public static final String HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD =<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      "hbase.client.perserver.requests.threshold";<a name="line.734"></a>
-<span class="sourceLineNo">735</span><a name="line.735"></a>
-<span class="sourceLineNo">736</span>  /**<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * Default value of {@link #HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD}.<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   */<a name="line.738"></a>
-<span class="sourceLineNo">739</span>  public static final int DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD = Integer.MAX_VALUE;<a name="line.739"></a>
-<span class="sourceLineNo">740</span><a name="line.740"></a>
+<span class="sourceLineNo">653</span>  public static final int REPLICATION_SCOPE_SERIAL = 2;<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>   * Default cluster ID, cannot be used to identify a cluster so a key with<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * this value means it wasn't meant for replication.<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  public static final UUID DEFAULT_CLUSTER_ID = new UUID(0L,0L);<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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.662"></a>
+<span class="sourceLineNo">663</span>   * Controlled by the client.<a name="line.663"></a>
+<span class="sourceLineNo">664</span>   */<a name="line.664"></a>
+<span class="sourceLineNo">665</span>  public static final String HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      "hbase.client.scanner.max.result.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>   * Parameter name for maximum number of bytes returned when calling a scanner's next method.<a name="line.669"></a>
+<span class="sourceLineNo">670</span>   * Controlled by the server.<a name="line.670"></a>
+<span class="sourceLineNo">671</span>   */<a name="line.671"></a>
+<span class="sourceLineNo">672</span>  public static final String HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY =<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      "hbase.server.scanner.max.result.size";<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.676"></a>
+<span class="sourceLineNo">677</span>   * Note that when a single row is larger than this limit the row is still<a name="line.677"></a>
+<span class="sourceLineNo">678</span>   * returned completely.<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   *<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   * The default value is 2MB.<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   */<a name="line.681"></a>
+<span class="sourceLineNo">682</span>  public static final long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = 2 * 1024 * 1024;<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>   * Maximum number of bytes returned when calling a scanner's next method.<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Note that when a single row is larger than this limit the row is still<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * returned completely.<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * Safety setting to protect the region server.<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   *<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * The default value is 100MB. (a client would rarely request larger chunks on purpose)<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   */<a name="line.691"></a>
+<span class="sourceLineNo">692</span>  public static final long DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE = 100 * 1024 * 1024;<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>   * Parameter name for client pause value, used mostly as value to wait<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * before running a retry of a failed get, region lookup, etc.<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   */<a name="line.697"></a>
+<span class="sourceLineNo">698</span>  public static final String HBASE_CLIENT_PAUSE = "hbase.client.pause";<a name="line.698"></a>
+<span class="sourceLineNo">699</span><a name="line.699"></a>
+<span class="sourceLineNo">700</span>  /**<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   * Default value of {@link #HBASE_CLIENT_PAUSE}.<a name="line.701"></a>
+<span class="sourceLineNo">702</span>   */<a name="line.702"></a>
+<span class="sourceLineNo">703</span>  public static final long DEFAULT_HBASE_CLIENT_PAUSE = 100;<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>   * Parameter name for client pause value for special case such as call queue too big, etc.<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   */<a name="line.707"></a>
+<span class="sourceLineNo">708</span>  public static final String HBASE_CLIENT_PAUSE_FOR_CQTBE = "hbase.client.pause.cqtbe";<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>   * The maximum number of concurrent connections the client will maintain.<a name="line.711"></a>
+<span class="sourceLineNo">712</span>   */<a name="line.712"></a>
+<span class="sourceLineNo">713</span>  public static final String HBASE_CLIENT_MAX_TOTAL_TASKS = "hbase.client.max.total.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_TOTAL_TASKS}.<a name="line.716"></a>
+<span class="sourceLineNo">717</span>   */<a name="line.717"></a>
+<span class="sourceLineNo">718</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS = 100;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.721"></a>
+<span class="sourceLineNo">722</span>   * RegionServer.<a name="line.722"></a>
+<span class="sourceLineNo">723</span>   */<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  public static final String HBASE_CLIENT_MAX_PERSERVER_TASKS = "hbase.client.max.perserver.tasks";<a name="line.724"></a>
+<span class="sourceLineNo">725</span><a name="line.725"></a>
+<span class="sourceLineNo">726</span>  /**<a name="line.726"></a>
+<span class="sourceLineNo">727</span>   * Default value of {@link #HBASE_CLIENT_MAX_PERSERVER_TASKS}.<a name="line.727"></a>
+<span class="sourceLineNo">728</span>   */<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS = 2;<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>   * The maximum number of concurrent connections the client will maintain to a single<a name="line.732"></a>
+<span class="sourceLineNo">733</span>   * Region.<a name="line.733"></a>
+<span class="sourceLineNo">734</span>   */<a name="line.734"></a>
+<span class="sourceLineNo">735</span>  public static final String HBASE_CLIENT_MAX_PERREGION_TASKS = "hbase.client.max.perregion.tasks";<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>   * Default value of {@link #HBASE_CLIENT_MAX_PERREGION_TASKS}.<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   */<a name="line.739"></a>
+<span class="sourceLineNo">740</span>  public static final int DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS = 1;<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>   * Parameter name for server pause value, used mostly as value to wait before<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * running a retry of a failed operation.<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   */<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  public static final String HBASE_SERVER_PAUSE = "hbase.server.pause";<a name="line.746"></a>
+<span class="sourceLineNo">743</span>   * The maximum number of concurrent pending RPC requests for one server in process level.<a name="line.743"></a>
+<span class="sourceLineNo">744</span>   */<a name="line.744"></a>
+<span class="sourceLineNo">745</span>  public static final String HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD =<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      "hbase.client.perserver.requests.threshold";<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>   * Default value of {@link #HBASE_SERVER_PAUSE}.<a name="line.749"></a>
+<span class="sourceLineNo">749</span>   * Default value of {@link #HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD}.<a name="line.749"></a>
 <span class="sourceLineNo">750</span>   */<a name="line.750"></a>
-<span class="sourceLineNo">751</span>  public static final int DEFAULT_HBASE_SERVER_PAUSE = 1000;<a name="line.751"></a>
+<span class="sourceLineNo">751</span>  public static final int DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD = Integer.MAX_VALUE;<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>   * Parameter name for maximum retries, used as maximum for all retryable<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * operations such as fetching of the root region from root region server,<a name="line.755"></a>
-<span class="sourceLineNo">756</span>   * getting a cell's value, starting a row update, etc.<a name="line.756"></a>
+<span class="sourceLineNo">753</span><a name="line.753"></a>
+<span class="sourceLineNo">754</span>  /**<a name="line.754"></a>
+<span class="sourceLineNo">755</span>   * Parameter name for server pause value, used mostly as value to wait before<a name="line.755"></a>
+<span class="sourceLineNo">756</span>   * running a retry of a failed operation.<a name="line.756"></a>
 <span class="sourceLineNo">757</span>   */<a name="line.757"></a>
-<span class="sourceLineNo">758</span>  public static final String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";<a name="line.758"></a>
+<span class="sourceLineNo">758</span>  public static final String HBASE_SERVER_PAUSE = "hbase.server.pause";<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>   * Default value of {@link #HBASE_CLIENT_RETRIES_NUMBER}.<a name="line.761"></a>
+<span class="sourceLineNo">761</span>   * Default value of {@link #HBASE_SERVER_PAUSE}.<a name="line.761"></a>
 <span class="sourceLineNo">762</span>   */<a name="line.762"></a>
-<span class="sourceLineNo">763</span>  public static final int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 15;<a name="line.763"></a>
+<span class="sourceLineNo">763</span>  public static final int DEFAULT_HBASE_SERVER_PAUSE = 1000;<a name="line.763"></a>
 <span class="sourceLineNo">764</span><a name="line.764"></a>
-<span class="sourceLineNo">765</span>  public static final String HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER =<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      "hbase.client.serverside.retries.multiplier";<a name="line.766"></a>
-<span class="sourceLineNo">767</span><a name="line.767"></a>
-<span class="sourceLineNo">768</span>  public static final int DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER = 3;<a name="line.768"></a>
-<span class="sourceLineNo">769</span><a name="line.769"></a>
-<span class="sourceLineNo">770</span>  /**<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   * Parameter name to set the default scanner caching for all clients.<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   */<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  public static final String HBASE_CLIENT_SCANNER_CACHING = "hbase.client.scanner.caching";<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  /**<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * Default value for {@link #HBASE_CLIENT_SCANNER_CACHING}<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
-<span class="sourceLineNo">778</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_CACHING = Integer.MAX_VALUE;<a name="line.778"></a>
+<span class="sourceLineNo">765</span>  /**<a name="line.765"></a>
+<span class="sourceLineNo">766</span>   * Parameter name for maximum retries, used as maximum for all retryable<a name="line.766"></a>
+<span class="sourceLineNo">767</span>   * operations such as fetching of the root region from root region server,<a name="line.767"></a>
+<span class="sourceLineNo">768</span>   * getting a cell's value, starting a row update, etc.<a name="line.768"></a>
+<span class="sourceLineNo">769</span>   */<a name="line.769"></a>
+<span class="sourceLineNo">770</span>  public static final String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";<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>   * Default value of {@link #HBASE_CLIENT_RETRIES_NUMBER}.<a name="line.773"></a>
+<span class="sourceLineNo">774</span>   */<a name="line.774"></a>
+<span class="sourceLineNo">775</span>  public static final int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 15;<a name="line.775"></a>
+<span class="sourceLineNo">776</span><a name="line.776"></a>
+<span class="sourceLineNo">777</span>  public static final String HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER =<a name="line.777"></a>
+<span class="sourceLineNo">778</span>      "hbase.client.serverside.retries.multiplier";<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>   * Parameter name for number of rows that will be fetched when calling next on<a name="line.781"></a>
-<span class="sourceLineNo">782</span>   * a scanner if it is not served from memory. Higher caching values will<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   * enable faster scanners but will eat up more memory and some calls of next<a name="line.783"></a>
-<span class="sourceLineNo">784</span>   * may take longer and longer times when the cache is empty.<a name="line.784"></a>
-<span class="sourceLineNo">785</span>   */<a name="line.785"></a>
-<span class="sourceLineNo">786</span>  public static final String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";<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>   * Default value of {@link #HBASE_META_SCANNER_CACHING}.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>   */<a name="line.790"></a>
-<span class="sourceLineNo">791</span>  public static final int DEFAULT_HBASE_META_SCANNER_CACHING = 100;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   */<a name="line.795"></a>
-<span class="sourceLineNo">796</span>  public static final String HBASE_META_VERSIONS = "hbase.meta.versions";<a name="line.796"></a>
-<span class="sourceLineNo">797</span><a name="line.797"></a>
-<span class="sourceLineNo">798</span>  /**<a name="line.798"></a>
-<span class="sourceLineNo">799</span>   * Default value of {@link #HBASE_META_VERSIONS}.<a name="line.799"></a>
-<span class="sourceLineNo">800</span>   */<a name="line.800"></a>
-<span class="sourceLineNo">801</span>  public static final int DEFAULT_HBASE_META_VERSIONS = 3;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.804"></a>
-<span class="sourceLineNo">805</span>   */<a name="line.805"></a>
-<span class="sourceLineNo">806</span>  public static final String HBASE_META_BLOCK_SIZE = "hbase.meta.blocksize";<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>  /**<a name="line.808"></a>
-<span class="sourceLineNo">809</span>   * Default value of {@link #HBASE_META_BLOCK_SIZE}.<a name="line.809"></a>
-<span class="sourceLineNo">810</span>   */<a name="line.810"></a>
-<span class="sourceLineNo">811</span>  public static final int DEFAULT_HBASE_META_BLOCK_SIZE = 8 * 1024;<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>   * Parameter name for unique identifier for this {@link org.apache.hadoop.conf.Configuration}<a name="line.814"></a>
-<span class="sourceLineNo">815</span>   * instance. If there are two or more {@link org.apache.hadoop.conf.Configuration} instances that,<a name="line.815"></a>
-<span class="sourceLineNo">816</span>   * for all intents and purposes, are the same except for their instance ids, then they will not be<a name="line.816"></a>
-<span class="sourceLineNo">817</span>   * able to share the same org.apache.hadoop.hbase.client.HConnection instance. On the other hand,<a name="line.817"></a>
-<span class="sourceLineNo">818</span>   * even if the instance ids are the same, it could result in non-shared<a name="line.818"></a>
-<span class="sourceLineNo">819</span>   * org.apache.hadoop.hbase.client.HConnection instances if some of the other connection parameters<a name="line.819"></a>
-<span class="sourceLineNo">820</span>   * differ.<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   */<a name="line.821"></a>
-<span class="sourceLineNo">822</span>  public static final String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>  /**<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * The client scanner timeout period in milliseconds.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   */<a name="line.826"></a>
-<span class="sourceLineNo">827</span>  public static final String HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD =<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      "hbase.client.scanner.timeout.period";<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>   * Use {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD} instead.<a name="line.831"></a>
-<span class="sourceLineNo">832</span>   * @deprecated This config option is deprecated. Will be removed at later releases after 0.96.<a name="line.832"></a>
+<span class="sourceLineNo">780</span>  public static final int DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER = 3;<a name="line.780"></a>
+<span class="sourceLineNo">781</span><a name="line.781"></a>
+<span class="sourceLineNo">782</span>  /**<a name="line.782"></a>
+<span class="sourceLineNo">783</span>   * Parameter name to set the default scanner caching for all clients.<a name="line.783"></a>
+<span class="sourceLineNo">784</span>   */<a name="line.784"></a>
+<span class="sourceLineNo">785</span>  public static final String HBASE_CLIENT_SCANNER_CACHING = "hbase.client.scanner.caching";<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>   * Default value for {@link #HBASE_CLIENT_SCANNER_CACHING}<a name="line.788"></a>
+<span class="sourceLineNo">789</span>   */<a name="line.789"></a>
+<span class="sourceLineNo">790</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_CACHING = Integer.MAX_VALUE;<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>   * Parameter name for number of rows that will be fetched when calling next on<a name="line.793"></a>
+<span class="sourceLineNo">794</span>   * a scanner if it is not served from memory. Higher caching values will<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * enable faster scanners but will eat up more memory and some calls of next<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * may take longer and longer times when the cache is empty.<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  public static final String HBASE_META_SCANNER_CACHING = "hbase.meta.scanner.caching";<a name="line.798"></a>
+<span class="sourceLineNo">799</span><a name="line.799"></a>
+<span class="sourceLineNo">800</span>  /**<a name="line.800"></a>
+<span class="sourceLineNo">801</span>   * Default value of {@link #HBASE_META_SCANNER_CACHING}.<a name="line.801"></a>
+<span class="sourceLineNo">802</span>   */<a name="line.802"></a>
+<span class="sourceLineNo">803</span>  public static final int DEFAULT_HBASE_META_SCANNER_CACHING = 100;<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>   * Parameter name for number of versions, kept by meta table.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   */<a name="line.807"></a>
+<span class="sourceLineNo">808</span>  public static final String HBASE_META_VERSIONS = "hbase.meta.versions";<a name="line.808"></a>
+<span class="sourceLineNo">809</span><a name="line.809"></a>
+<span class="sourceLineNo">810</span>  /**<a name="line.810"></a>
+<span class="sourceLineNo">811</span>   * Default value of {@link #HBASE_META_VERSIONS}.<a name="line.811"></a>
+<span class="sourceLineNo">812</span>   */<a name="line.812"></a>
+<span class="sourceLineNo">813</span>  public static final int DEFAULT_HBASE_META_VERSIONS = 3;<a name="line.813"></a>
+<span class="sourceLineNo">814</span><a name="line.814"></a>
+<span class="sourceLineNo">815</span>  /**<a name="line.815"></a>
+<span class="sourceLineNo">816</span>   * Parameter name for number of versions, kept by meta table.<a name="line.816"></a>
+<span class="sourceLineNo">817</span>   */<a name="line.817"></a>
+<span class="sourceLineNo">818</span>  public static final String HBASE_META_BLOCK_SIZE = "hbase.meta.blocksize";<a name="line.818"></a>
+<span class="sourceLineNo">819</span><a name="line.819"></a>
+<span class="sourceLineNo">820</span>  /**<a name="line.820"></a>
+<span class="sourceLineNo">821</span>   * Default value of {@link #HBASE_META_BLOCK_SIZE}.<a name="line.821"></a>
+<span class="sourceLineNo">822</span>   */<a name="line.822"></a>
+<span class="sourceLineNo">823</span>  public static final int DEFAULT_HBASE_META_BLOCK_SIZE = 8 * 1024;<a name="line.823"></a>
+<span class="sourceLineNo">824</span><a name="line.824"></a>
+<span class="sourceLineNo">825</span>  /**<a name="line.825"></a>
+<span class="sourceLineNo">826</span>   * Parameter name for unique identifier for this {@link org.apache.hadoop.conf.Configuration}<a name="line.826"></a>
+<span class="sourceLineNo">827</span>   * instance. If there are two or more {@link org.apache.hadoop.conf.Configuration} instances that,<a name="line.827"></a>
+<span class="sourceLineNo">828</span>   * for all intents and purposes, are the same except for their instance ids, then they will not be<a name="line.828"></a>
+<span class="sourceLineNo">829</span>   * able to share the same org.apache.hadoop.hbase.client.HConnection instance. On the other hand,<a name="line.829"></a>
+<span class="sourceLineNo">830</span>   * even if the instance ids are the same, it could result in non-shared<a name="line.830"></a>
+<span class="sourceLineNo">831</span>   * org.apache.hadoop.hbase.client.HConnection instances if some of the other connection parameters<a name="line.831"></a>
+<span class="sourceLineNo">832</span>   * differ.<a name="line.832"></a>
 <span class="sourceLineNo">833</span>   */<a name="line.833"></a>
-<span class="sourceLineNo">834</span>  @Deprecated<a name="line.834"></a>
-<span class="sourceLineNo">835</span>  public static final String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =<a name="line.835"></a>
-<span class="sourceLineNo">836</span>      "hbase.regionserver.lease.period";<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>   * Default value of {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD}.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   */<a name="line.840"></a>
-<span class="sourceLineNo">841</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD = 60000;<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>   * timeout for each RPC<a name="line.844"></a>
+<span class="sourceLineNo">834</span>  public static final String HBASE_CLIENT_INSTANCE_ID = "hbase.client.instance.id";<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>   * The client scanner timeout period in milliseconds.<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   */<a name="line.838"></a>
+<span class="sourceLineNo">839</span>  public static final String HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD =<a name="line.839"></a>
+<span class="sourceLineNo">840</span>      "hbase.client.scanner.timeout.period";<a name="line.840"></a>
+<span class="sourceLineNo">841</span><a name="line.841"></a>
+<span class="sourceLineNo">842</span>  /**<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * Use {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD} instead.<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   * @deprecated This config option is deprecated. Will be removed at later releases after 0.96.<a name="line.844"></a>
 <span class="sourceLineNo">845</span>   */<a name="line.845"></a>
-<span class="sourceLineNo">846</span>  public static final String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";<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>   * timeout for each read RPC<a name="line.849"></a>
-<span class="sourceLineNo">850</span>   */<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  public static final String HBASE_RPC_READ_TIMEOUT_KEY = "hbase.rpc.read.timeout";<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>   * timeout for each write RPC<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   */<a name="line.855"></a>
-<span class="sourceLineNo">856</span>  public static final String HBASE_RPC_WRITE_TIMEOUT_KEY = "hbase.rpc.write.timeout";<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>   * Default value of {@link #HBASE_RPC_TIMEOUT_KEY}<a name="line.859"></a>
-<span class="sourceLineNo">860</span>   */<a name="line.860"></a>
-<span class="sourceLineNo">861</span>  public static final int DEFAULT_HBASE_RPC_TIMEOUT = 60000;<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>   * timeout for short operation RPC<a name="line.864"></a>
-<span class="sourceLineNo">865</span>   */<a name="line.865"></a>
-<span class="sourceLineNo">866</span>  public static final String HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY =<a name="line.866"></a>
-<span class="sourceLineNo">867</span>      "hbase.rpc.shortoperation.timeout";<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>   * Default value of {@link #HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY}<a name="line.870"></a>
-<span class="sourceLineNo">871</span>   */<a name="line.871"></a>
-<span class="sourceLineNo">872</span>  public static final int DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT = 10000;<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>   * Value indicating the server name was saved with no sequence number.<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   */<a name="line.876"></a>
-<span class="sourceLineNo">877</span>  public static final long NO_SEQNUM = -1;<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>  /*<a name="line.880"></a>
-<span class="sourceLineNo">881</span>   * cluster replication constants.<a name="line.881"></a>
-<span class="sourceLineNo">882</span>   */<a name="line.882"></a>
-<span class="sourceLineNo">883</span>  public static final String<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";<a name="line.884"></a>
-<span class="sourceLineNo">885</span>  public static final String<a name="line.885"></a>
-<span class="sourceLineNo">886</span>      REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";<a name="line.886"></a>
-<span class="sourceLineNo">887</span>  public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    "org.apache.hadoop.hbase.replication.regionserver.Replication";<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  public static final String REPLICATION_BULKLOAD_ENABLE_KEY = "hbase.replication.bulkload.enabled";<a name="line.889"></a>
-<span class="sourceLineNo">890</span>  public static final boolean REPLICATION_BULKLOAD_ENABLE_DEFAULT = false;<a name="line.890"></a>
-<span class="sourceLineNo">891</span>  /** Replication cluster id of source cluster which uniquely identifies itself with peer cluster */<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  public static final String REPLICATION_CLUSTER_ID = "hbase.replication.cluster.id";<a name="line.892"></a>
-<span class="sourceLineNo">893</span>  /**<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   * Max total size of buffered entries in all replication peers. It will prevent server getting<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * OOM if there are many peers. Default value is 256MB which is four times to default<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * replication.source.size.capacity.<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  public static final String REPLICATION_SOURCE_TOTAL_BUFFER_KEY = "replication.total.buffer.quota";<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>  public static final int REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT = 256 * 1024 * 1024;<a name="line.900"></a>
-<span class="sourceLineNo">901</span><a name="line.901"></a>
-<span class="sourceLineNo">902</span><a name="line.902"></a>
-<span class="sourceLineNo">903</span>  /**<a name="line.903"></a>
-<span class="sourceLineNo">904</span>   * Directory where the source cluster file system client configuration are placed which is used by<a name="line.904"></a>
-<span class="sourceLineNo">905</span>   * sink cluster to copy HFiles from source cluster file system<a name="line.905"></a>
-<span class="sourceLineNo">906</span>   */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  public static final String REPLICATION_CONF_DIR = "hbase.replication.conf.dir";<a name="line.907"></a>
-<span class="sourceLineNo">908</span><a name="line.908"></a>
-<span class="sourceLineNo">909</span>  /** Maximum time to retry for a failed bulk load request */<a name="line.909"></a>
-<span class="sourceLineNo">910</span>  public static final String BULKLOAD_MAX_RETRIES_NUMBER = "hbase.bulkload.retries.number";<a name="line.910"></a>
+<span class="sourceLineNo">846</span>  @Deprecated<a name="line.846"></a>
+<span class="sourceLineNo">847</span>  public static final String HBASE_REGIONSERVER_LEASE_PERIOD_KEY =<a name="line.847"></a>
+<span class="sourceLineNo">848</span>      "hbase.regionserver.lease.period";<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>   * Default value of {@link #HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD}.<a name="line.851"></a>
+<span class="sourceLineNo">852</span>   */<a name="line.852"></a>
+<span class="sourceLineNo">853</span>  public static final int DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD = 60000;<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>   * timeout for each RPC<a name="line.856"></a>
+<span class="sourceLineNo">857</span>   */<a name="line.857"></a>
+<span class="sourceLineNo">858</span>  public static final String HBASE_RPC_TIMEOUT_KEY = "hbase.rpc.timeout";<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>   * timeout for each read RPC<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   */<a name="line.862"></a>
+<span class="sourceLineNo">863</span>  public static final String HBASE_RPC_READ_TIMEOUT_KEY = "hbase.rpc.read.timeout";<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>   * timeout for each write RPC<a name="line.866"></a>
+<span class="sourceLineNo">867</span>   */<a name="line.867"></a>
+<span class="sourceLineNo">868</span>  public static final String HBASE_RPC_WRITE_TIMEOUT_KEY = "hbase.rpc.write.timeout";<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>   * Default value of {@link #HBASE_RPC_TIMEOUT_KEY}<a name="line.871"></a>
+<span class="sourceLineNo">872</span>   */<a name="line.872"></a>
+<span class="sourceLineNo">873</span>  public static final int DEFAULT_HBASE_RPC_TIMEOUT = 60000;<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>   * timeout for short operation RPC<a name="line.876"></a>
+<span class="sourceLineNo">877</span>   */<a name="line.877"></a>
+<span class="sourceLineNo">878</span>  public static final String HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY =<a name="line.878"></a>
+<span class="sourceLineNo">879</span>      "hbase.rpc.shortoperation.timeout";<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>   * Default value of {@link #HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY}<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   */<a name="line.883"></a>
+<span class="sourceLineNo">884</span>  public static final int DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT = 10000;<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>   * Value indicating the server name was saved with no sequence number.<a name="line.887"></a>
+<span class="sourceLineNo">888</span>   */<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  public static final long NO_SEQNUM = -1;<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span><a name="line.891"></a>
+<span class="sourceLineNo">892</span>  /*<a name="line.892"></a>
+<span class="sourceLineNo">893</span>   * cluster replication constants.<a name="line.893"></a>
+<span class="sourceLineNo">894</span>   */<a name="line.894"></a>
+<span class="sourceLineNo">895</span>  public static final String<a name="line.895"></a>
+<span class="sourceLineNo">896</span>      REPLICATION_SOURCE_SERVICE_CLASSNAME = "hbase.replication.source.service";<a name="line.896"></a>
+<span class="sourceLineNo">897</span>  public static final String<a name="line.897"></a>
+<span class="sourceLineNo">898</span>      REPLICATION_SINK_SERVICE_CLASSNAME = "hbase.replication.sink.service";<a name="line.898"></a>
+<span class="sourceLineNo">899</span>  public static final String REPLICATION_SERVICE_CLASSNAME_DEFAULT =<a name="line.899"></a>
+<span class="sourceLineNo">900</span>    "org.apache.hadoop.hbase.replication.regionserver.Replication";<a name="line.900"></a>
+<span class="sourceLineNo">901</span>  public static final String REPLICATION_BULKLOAD_ENABLE_KEY = "hbase.replication.bulkload.enabled";<a name="line.901"></a>
+<span class="sourceLineNo">902</span>  public static final boolean REPLICATION_BULKLOAD_ENABLE_DEFAULT = false;<a name="line.902"></a>
+<span class="sourceLineNo">903</span>  /** Replication cluster id of source cluster which uniquely identifies itself with peer cluster */<a name="line.903"></a>
+<span class="sourceLineNo">904</span>  public static final String REPLICATION_CLUSTER_ID = "hbase.replication.cluster.id";<a name="line.904"></a>
+<span class="sourceLineNo">905</span>  /**<a name="line.905"></a>
+<span class="sourceLineNo">906</span>   * Max total size of buffered entries in all replication peers. It will prevent server getting<a name="line.906"></a>
+<span class="sourceLineNo">907</span>   * OOM if there are many peers. Default value is 256MB which is four times to default<a name="line.907"></a>
+<span class="sourceLineNo">908</span>   * replication.source.size.capacity.<a name="line.908"></a>
+<span class="sourceLineNo">909</span>   */<a name="line.909"></a>
+<span class="sourceLineNo">910</span>  public static final String REPLICATION_SOURCE_TOTAL_BUFFER_KEY = "replication.total.buffer.quota";<a name="line.910"></a>
 <span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>  public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    "hbase.regionserver.hostname.seen.by.master";<a name="line.913"></a>
+<span class="sourceLineNo">912</span>  public static final int REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT = 256 * 1024 * 1024;<a name="line.912"></a>
+<span class="sourceLineNo">913</span><a name="line.913"></a>
 <span class="sourceLineNo">914</span><a name="line.914"></a>
-<span class="sourceLineNo">915</span>  public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      "hbase.master.logcleaner.plugins";<a name="line.916"></a>
-<span class="sourceLineNo">917</span><a name="line.917"></a>
-<span class="sourceLineNo">918</span>  public static final String HBASE_REGION_SPLIT_POLICY_KEY =<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    "hbase.regionserver.region.split.policy";<a name="line.919"></a>
+<span class="sourceLineNo">915</span>  /**<a name="line.915"></a>
+<span class="sourceLineNo">916</span>   * Directory where the source cluster file system client configuration are placed which is used by<a name="line.916"></a>
+<span class="sourceLineNo">917</span>   * sink cluster to copy HFiles from source cluster file system<a name="line.917"></a>
+<span class="sourceLineNo">918</span>   */<a name="line.918"></a>
+<span class="sourceLineNo">919</span>  public static final String REPLICATION_CONF_DIR = "hbase.replication.conf.dir";<a name="line.919"></a>
 <span class="sourceLineNo">920</span><a name="line.920"></a>
-<span class="sourceLineNo">921</span>  /** Whether nonces are enabled; default is true. */<a name="line.921"></a>
-<span class="sourceLineNo">922</span>  public static final String HBASE_RS_NONCES_ENABLED = "hbase.regionserver.nonces.enabled";<a name="line.922"></a>
+<span class="sourceLineNo">921</span>  /** Maximum time to retry for a failed bulk load request */<a name="line.921"></a>
+<span class="sourceLineNo">922</span>  public static final String BULKLOAD_MAX_RETRIES_NUMBER = "hbase.bulkload.retries.number";<a name="line.922"></a>
 <span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>  /**<a name="line.924"></a>
-<span class="sourceLineNo">925</span>   * Configuration key for the size of the block cache<a name="line.925"></a>
-<span class="sourceLineNo">926</span>   */<a name="line.926"></a>
-<span class="sourceLineNo">927</span>  public static final String HFILE_BLOCK_CACHE_SIZE_KEY =<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    "hfile.block.cache.size";<a name="line.928"></a>
+<span class="sourceLineNo">924</span>  public static final String KEY_FOR_HOSTNAME_SEEN_BY_MASTER =<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    "hbase.regionserver.hostname.seen.by.master";<a name="line.925"></a>
+<span class="sourceLineNo">926</span><a name="line.926"></a>
+<span class="sourceLineNo">927</span>  public static final String HBASE_MASTER_LOGCLEANER_PLUGINS =<a name="line.927"></a>
+<span class="sourceLineNo">928</span>      "hbase.master.logcleaner.plugins";<a name="line.928"></a>
 <span class="sourceLineNo">929</span><a name="line.929"></a>
-<span class="sourceLineNo">930</span>  public static final float HFILE_BLOCK_CACHE_SIZE_DEFAULT = 0.4f;<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>  /*<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    * Minimum percentage of free heap necessary for a successful cluster startup.<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    */<a name="line.934"></a>
-<span class="sourceLineNo">935</span>  public static final float HBASE_CLUSTER_MINIMUM_MEMORY_THRESHOLD = 0.2f;<a name="line.935"></a>
-<span class="sourceLineNo">936</span><a name="line.936"></a>
-<span class="sourceLineNo">937</span>  public static final Pattern CP_HTD_ATTR_KEY_PATTERN =<a name="line.937"></a>
-<span class="sourceLineNo">938</span>      Pattern.compile("^coprocessor\\$([0-9]+)$", Pattern.CASE_INSENSITIVE);<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>   * &lt;pre&gt;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>   * Pattern that matches a coprocessor specification. Form is:<a name="line.942"></a>
-<span class="sourceLineNo">943</span>   * {@code &lt;coprocessor jar file location&gt; '|' &lt;class name&gt; ['|' &lt;priority&gt; ['|' &lt;arguments&gt;]]}<a name="line.943"></a>
-<span class="sourceLineNo">944</span>   * where arguments are {@code &lt;KEY&gt; '=' &lt;VALUE&gt; [,...]}<a name="line.944"></a>
-<span class="sourceLineNo">945</span>   * For example: {@code hdfs:///foo.jar|com.foo.FooRegionObserver|1001|arg1=1,arg2=2}<a name="line.945"></a>
-<span class="sourceLineNo">946</span>   * &lt;/pre&gt;<a name="line.946"></a>
-<span class="sourceLineNo">947</span>   */<a name="line.947"></a>
-<span class="sourceLineNo">948</span>  public static final Pattern CP_HTD_ATTR_VALUE_PATTERN =<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      Pattern.compile("(^[^\\|]*)\\|([^\\|]+)\\|[\\s]*([\\d]*)[\\s]*(\\|.*)?$");<a name="line.949"></a>
-<span class="sourceLineNo">950</span><a name="line.950"></a>
-<span class="sourceLineNo">951</span>  public static final String CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN = "[^=,]+";<a name="line.951"></a>
-<span class="sourceLineNo">952</span>  public static final String CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN = "[^,]+";<a name="line.952"></a>
-<span class="sourceLineNo">953</span>  public static final Pattern CP_HTD_ATTR_VALUE_PARAM_PATTERN = Pattern.compile(<a name="line.953"></a>
-<span class="sourceLineNo">954</span>      "(" + CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN + ")=(" +<a name="line.954"></a>
-<span class="sourceLineNo">955</span>      CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN + "),?");<a name="line.955"></a>
-<span class="sourceLineNo">956</span>  public static final String CP_HTD_ATTR_INCLUSION_KEY =<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      "hbase.coprocessor.classloader.included.classes";<a name="line.957"></a>
-<span class="sourceLineNo">958</span><a name="line.958"></a>
-<span class="sourceLineNo">959</span>  /** The delay when re-trying a socket operation in a loop (HBASE-4712) */<a name="line.959"></a>
-<span class="sourceLineNo">960</span>  public static final int SOCKET_RETRY_WAIT_MS = 200;<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span>  /** Host name of the local machine */<a name="line.962"></a>
-<span class="sourceLineNo">963</span>  public static final String LOCALHOST = "localhost";<a name="line.963"></a>
-<span class="sourceLineNo">964</span><a name="line.964"></a>
-<span class="sourceLineNo">965</span>  /**<a name="line.965"></a>
-<span class="sourceLineNo">966</span>   * If this parameter is set to true, then hbase will read<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   * data and then verify checksums. Checksum verification<a name="line.967"></a>
-<span class="sourceLineNo">968</span

<TRUNCATED>

[36/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
index 858703b..d788050 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -608,25 +608,32 @@ service.</div>
 <td class="colLast"><span class="typeNameLabel">SharedConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/SharedConnection.html#getRegionLocator-org.apache.hadoop.hbase.TableName-">getRegionLocator</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor.ReplicationBarrierResult</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getReplicationBarrierResult-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-byte:A-byte:A-">getReplicationBarrierResult</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                           byte[]&nbsp;row,
+                           byte[]&nbsp;encodedRegionName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getScanForTableName-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getScanForTableName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                    <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">SharedConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/SharedConnection.html#getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTableBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Gets all of the regions of the specified table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-boolean-">getTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -634,14 +641,14 @@ service.</div>
 <div class="block">Gets all of the regions of the specified table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegionsAndLocations-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableRegionsAndLocations</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Do not use this method to get meta table regions, use methods in MetaTableLocator instead.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableRegionsAndLocations-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-boolean-">getTableRegionsAndLocations</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -649,37 +656,37 @@ service.</div>
 <div class="block">Do not use this method to get meta table regions, use methods in MetaTableLocator instead.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableStartRowForMeta-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-">getTableStartRowForMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                        <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncMetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/AsyncMetaTableAccessor.html#getTableState-org.apache.hadoop.hbase.client.AsyncTable-org.apache.hadoop.hbase.TableName-">getTableState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a>&lt;?&gt;&nbsp;metaTable,
              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/TableState.html" title="class in org.apache.hadoop.hbase.client">TableState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableState-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">getTableState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Fetch table state for given table from META table</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getTableStopRowForMeta-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-">getTableStopRowForMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                       <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase">MetaTableAccessor.QueryType</a>&nbsp;type)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">TableName.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/TableName.html#isMetaTableName-org.apache.hadoop.hbase.TableName-">isMetaTableName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TableDescriptors.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html#remove-org.apache.hadoop.hbase.TableName-">remove</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tablename)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#scanMeta-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-org.apache.hadoop.hbase.TableName-byte:A-int-">scanMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
         <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor,
@@ -690,7 +697,7 @@ service.</div>
  given row.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#scanMeta-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.MetaTableAccessor.QueryType-int-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-">scanMeta</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
         <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
@@ -698,25 +705,25 @@ service.</div>
         int&nbsp;maxRows,
         <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#scanMetaForTableRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.MetaTableAccessor.Visitor-org.apache.hadoop.hbase.TableName-">scanMetaForTableRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                        <a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html" title="interface in org.apache.hadoop.hbase">MetaTableAccessor.Visitor</a>&nbsp;visitor,
                        <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://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="https://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">AsyncMetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/AsyncMetaTableAccessor.html#tableExists-org.apache.hadoop.hbase.client.AsyncTable-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a>&lt;?&gt;&nbsp;metaTable,
            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#tableExists-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Checks if the specified table exists.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#updateTableState-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableState.State-">updateTableState</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -6908,14 +6915,18 @@ service.</div>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getTableRegionStates-org.apache.hadoop.hbase.TableName-">getTableRegionStates</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#hasSerialReplicationScope-org.apache.hadoop.hbase.TableName-">hasSerialReplicationScope</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#hasTableRegionStates-org.apache.hadoop.hbase.TableName-">hasTableRegionStates</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#isTableDisabled-org.apache.hadoop.hbase.TableName-">isTableDisabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#isTableEnabled-org.apache.hadoop.hbase.TableName-">isTableEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/ImmutableHTableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/ImmutableHTableDescriptor.html b/devapidocs/org/apache/hadoop/hbase/client/ImmutableHTableDescriptor.html
index fa6ea62..d18ecc6 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/ImmutableHTableDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/ImmutableHTableDescriptor.html
@@ -207,7 +207,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" t
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#addCoprocessor-java.lang.String-">addCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#addCoprocessor-java.lang.String-org.apache.hadoop.fs.Path-int-java.util.Map-">addCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#addCoprocessorWithSpec-java.lang.String-">addCoprocessorWithSpec</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#addFamily-org.apache.hadoop.hbase.HColumnDescriptor-">addFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#compareTo-org.apache.hadoop.hbase.HTableDescriptor-">compareTo</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilies--">getColumnFamilies</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescri
 ptor.html#getColumnFamily-byte:A-">getColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilyCount--">getColumnFamilyCount</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilyNames--">getColumnFamilyNames</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getConfiguration--">getConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getConfigurationValue-java.lang.String-">getConfigurationValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getCoprocessors--">getCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getDurability--">getDurability</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamilies--">getFamilies</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamiliesKeys--">getFamiliesKeys</a>, <a href="../../../../..
 /org/apache/hadoop/hbase/HTableDescriptor.html#getFamily-byte:A-">getFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFlushPolicyClassName--">getFlushPolicyClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMaxFileSize--">getMaxFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMemStoreFlushSize--">getMemStoreFlushSize</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getNameAsString--">getNameAsString</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getOwnerString--">getOwnerString</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getPriority--">getPriority</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getRegionReplication--">getRegionReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getRegionSplitPolicyClassName--">getRegionSplitPolic
 yClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getValue-byte:A-">getValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getValue-org.apache.hadoop.hbase.util.Bytes-">getValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getValue-java.lang.String-">getValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getValues--">getValues</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasColumnFamily-byte:A-">hasColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasCoprocessor-java.lang.String-">hasCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasFamily-byte:A-">hasFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hashCode--">hashCode<
 /a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasRegionMemstoreReplication--">hasRegionMemstoreReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasRegionMemStoreReplication--">hasRegionMemStoreReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isCompactionEnabled--">isCompactionEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaRegion--">isMetaRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaTable--">isMetaTable</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isNormalizationEnabled--">isNormalizationEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isReadOnly--">isReadOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isRootRegion--">isRootRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.htm
 l#modifyFamily-org.apache.hadoop.hbase.HColumnDescriptor-">modifyFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#parseFrom-byte:A-">parseFrom</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-byte:A-">remove</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-org.apache.hadoop.hbase.util.Bytes-">remove</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-java.lang.String-">remove</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeConfiguration-java.lang.String-">removeConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeCoprocessor-java.lang.String-">removeCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeFamily-byte:A-">removeFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setCompactionEnabled-boolean-">setCompac
 tionEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setConfiguration-java.lang.String-java.lang.String-">setConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setFlushPolicyClassName-java.lang.String-">setFlushPolicyClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMaxFileSize-long-">setMaxFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMemStoreFlushSize-long-">setMemStoreFlushSize</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setNormalizationEnabled-boolean-">setNormalizationEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../org/apache/hadoop/hb
 ase/HTableDescriptor.html#setOwnerString-java.lang.String-">setOwnerString</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setPriority-int-">setPriority</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setReadOnly-boolean-">setReadOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemstoreReplication-boolean-">setRegionMemstoreReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemStoreReplication-boolean-">setRegionMemStoreReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionReplication-int-">setRegionReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionSplitPolicyClassName-java.lang.String-">setRegionSplitPolicyClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-byte:A-byte:A-">setValue</a>, <a href="../../../../../org/apa
 che/hadoop/hbase/HTableDescriptor.html#setValue-org.apache.hadoop.hbase.util.Bytes-org.apache.hadoop.hbase.util.Bytes-">setValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-java.lang.String-java.lang.String-">setValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toByteArray--">toByteArray</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toStringCustomizedValues--">toStringCustomizedValues</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toStringTableAttributes--">toStringTableAttributes</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#addCoprocessor-java.lang.String-">addCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#addCoprocessor-java.lang.String-org.apache.hadoop.fs.Path-int-java.util.Map-">addCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#addCoprocessorWithSpec-java.lang.String-">addCoprocessorWithSpec</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#addFamily-org.apache.hadoop.hbase.HColumnDescriptor-">addFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#compareTo-org.apache.hadoop.hbase.HTableDescriptor-">compareTo</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilies--">getColumnFamilies</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescri
 ptor.html#getColumnFamily-byte:A-">getColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilyCount--">getColumnFamilyCount</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilyNames--">getColumnFamilyNames</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getConfiguration--">getConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getConfigurationValue-java.lang.String-">getConfigurationValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getCoprocessors--">getCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getDurability--">getDurability</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamilies--">getFamilies</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamiliesKeys--">getFamiliesKeys</a>, <a href="../../../../..
 /org/apache/hadoop/hbase/HTableDescriptor.html#getFamily-byte:A-">getFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFlushPolicyClassName--">getFlushPolicyClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMaxFileSize--">getMaxFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMemStoreFlushSize--">getMemStoreFlushSize</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getNameAsString--">getNameAsString</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getOwnerString--">getOwnerString</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getPriority--">getPriority</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getRegionReplication--">getRegionReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getRegionSplitPolicyClassName--">getRegionSplitPolic
 yClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getTableName--">getTableName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getValue-byte:A-">getValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getValue-org.apache.hadoop.hbase.util.Bytes-">getValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getValue-java.lang.String-">getValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getValues--">getValues</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasColumnFamily-byte:A-">hasColumnFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasCoprocessor-java.lang.String-">hasCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasFamily-byte:A-">hasFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hashCode--">hashCode<
 /a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasRegionMemstoreReplication--">hasRegionMemstoreReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasRegionMemStoreReplication--">hasRegionMemStoreReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isCompactionEnabled--">isCompactionEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaRegion--">isMetaRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaTable--">isMetaTable</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isNormalizationEnabled--">isNormalizationEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isReadOnly--">isReadOnly</a>, <a href="../../../../../org/apache/hadoop/
 hbase/HTableDescriptor.html#isRootRegion--">isRootRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#modifyFamily-org.apache.hadoop.hbase.HColumnDescriptor-">modifyFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#parseFrom-byte:A-">parseFrom</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-byte:A-">remove</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-org.apache.hadoop.hbase.util.Bytes-">remove</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-java.lang.String-">remove</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeConfiguration-java.lang.String-">removeConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeCoprocessor-java.lang.String-">removeCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeFamily-byte:A-
 ">removeFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setCompactionEnabled-boolean-">setCompactionEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setConfiguration-java.lang.String-java.lang.String-">setConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setDurability-org.apache.hadoop.hbase.client.Durability-">setDurability</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setFlushPolicyClassName-java.lang.String-">setFlushPolicyClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMaxFileSize-long-">setMaxFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMemStoreFlushSize-long-">setMemStoreFlushSize</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setNormalizationEnabled-boolean-">setNormalizationEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase
 /HTableDescriptor.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setOwnerString-java.lang.String-">setOwnerString</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setPriority-int-">setPriority</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setReadOnly-boolean-">setReadOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemstoreReplication-boolean-">setRegionMemstoreReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemStoreReplication-boolean-">setRegionMemStoreReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionReplication-int-">setRegionReplication</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionSplitPolicyClassName-java.lang.String-">setRegionSplitPolicyClassName</a>, <a href=".
 ./../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-byte:A-byte:A-">setValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-org.apache.hadoop.hbase.util.Bytes-org.apache.hadoop.hbase.util.Bytes-">setValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-java.lang.String-java.lang.String-">setValue</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toByteArray--">toByteArray</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toStringCustomizedValues--">toStringCustomizedValues</a>, <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toStringTableAttributes--">toStringTableAttributes</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/TableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/TableDescriptor.html b/devapidocs/org/apache/hadoop/hbase/client/TableDescriptor.html
index 08d1943..20bda41 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/TableDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/TableDescriptor.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":17,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":38,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":18};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":17,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":38,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":18};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -284,35 +284,39 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isCompactionEnabled--">isCompactionEnabled</a></span>()</code>
 <div class="block">Check if the compaction enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isMetaRegion--">isMetaRegion</a></span>()</code>
 <div class="block">Checks if this table is <code> hbase:meta </code> region.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isMetaTable--">isMetaTable</a></span>()</code>
 <div class="block">Checks if the table is a <code>hbase:meta</code> table</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isNormalizationEnabled--">isNormalizationEnabled</a></span>()</code>
 <div class="block">Check if normalization enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#isReadOnly--">isReadOnly</a></span>()</code>
 <div class="block">Check if the readOnly flag of the table is set.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>default boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html#matchReplicationScope-boolean-">matchReplicationScope</a></span>(boolean&nbsp;enabled)</code>
 <div class="block">Check if the table's cfs' replication scope matched with the replication state</div>
@@ -683,13 +687,26 @@ static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/C
 </dl>
 </li>
 </ul>
+<a name="hasSerialReplicationScope--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasSerialReplicationScope</h4>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.237">hasSerialReplicationScope</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if there are at least one cf whose replication scope is serial.</dd>
+</dl>
+</li>
+</ul>
 <a name="isCompactionEnabled--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>isCompactionEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.240">isCompactionEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.245">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>
@@ -704,7 +721,7 @@ static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/C
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaRegion</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.247">isMetaRegion</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.252">isMetaRegion</a>()</pre>
 <div class="block">Checks if this table is <code> hbase:meta </code> region.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -718,7 +735,7 @@ static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/C
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaTable</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.254">isMetaTable</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.259">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>
@@ -732,7 +749,7 @@ static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/C
 <ul class="blockList">
 <li class="blockList">
 <h4>isNormalizationEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.262">isNormalizationEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.267">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>
@@ -747,7 +764,7 @@ static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/C
 <ul class="blockList">
 <li class="blockList">
 <h4>isReadOnly</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.270">isReadOnly</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.275">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>
@@ -762,7 +779,7 @@ static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/C
 <ul class="blockListLast">
 <li class="blockList">
 <h4>matchReplicationScope</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.277">matchReplicationScope</a>(boolean&nbsp;enabled)</pre>
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TableDescriptor.html#line.282">matchReplicationScope</a>(boolean&nbsp;enabled)</pre>
 <div class="block">Check if the table's cfs' replication scope matched with the replication state</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>


[28/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html
index 98346cf..be292c5 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html
@@ -479,9 +479,10 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 </tr>
 <tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#logPositionAndCleanOldLogs-org.apache.hadoop.fs.Path-java.lang.String-long-boolean-">logPositionAndCleanOldLogs</a></span>(org.apache.hadoop.fs.Path&nbsp;log,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#logPositionAndCleanOldLogs-org.apache.hadoop.fs.Path-java.lang.String-long-java.util.Map-boolean-">logPositionAndCleanOldLogs</a></span>(org.apache.hadoop.fs.Path&nbsp;log,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId,
                           long&nbsp;position,
+                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;lastSeqIds,
                           boolean&nbsp;queueRecovered)</code>
 <div class="block">This method will log the current position to storage.</div>
 </td>
@@ -987,7 +988,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 </dl>
 </li>
 </ul>
-<a name="logPositionAndCleanOldLogs-org.apache.hadoop.fs.Path-java.lang.String-long-boolean-">
+<a name="logPositionAndCleanOldLogs-org.apache.hadoop.fs.Path-java.lang.String-long-java.util.Map-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -996,6 +997,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.483">logPositionAndCleanOldLogs</a>(org.apache.hadoop.fs.Path&nbsp;log,
                                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId,
                                        long&nbsp;position,
+                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;lastSeqIds,
                                        boolean&nbsp;queueRecovered)</pre>
 <div class="block">This method will log the current position to storage. And also clean old logs from the
  replication queue.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html
index 8d26214..cc41ea4 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.50">ReplicationSourceShipper.WorkerState</a>
+<pre>public static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.49">ReplicationSourceShipper.WorkerState</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>&gt;</pre>
 </li>
 </ul>
@@ -213,7 +213,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>RUNNING</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.51">RUNNING</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.50">RUNNING</a></pre>
 </li>
 </ul>
 <a name="STOPPED">
@@ -222,7 +222,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>STOPPED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.52">STOPPED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.51">STOPPED</a></pre>
 </li>
 </ul>
 <a name="FINISHED">
@@ -231,7 +231,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FINISHED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.53">FINISHED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.52">FINISHED</a></pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,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/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.50">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.49">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:
@@ -268,7 +268,7 @@ for (ReplicationSourceShipper.WorkerState c : ReplicationSourceShipper.WorkerSta
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.50">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html#line.49">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <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/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html
index 33de4bf..4a284d3 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.46">ReplicationSourceShipper</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.45">ReplicationSourceShipper</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
 <div class="block">This thread reads entries from a queue and ships them. Entries are placed onto the queue by
  ReplicationSourceWALReaderThread</div>
@@ -303,7 +303,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#shipEdits-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-">shipEdits</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;entryBatch)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#shipEdits-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-">shipEdits</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;entryBatch)</code>
 <div class="block">Do the shipping logic</div>
 </td>
 </tr>
@@ -323,8 +323,9 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#stopWorker--">stopWorker</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i15" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#updateLogPosition-long-">updateLogPosition</a></span>(long&nbsp;lastReadPosition)</code>&nbsp;</td>
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#updateLogPosition-long-java.util.Map-">updateLogPosition</a></span>(long&nbsp;lastReadPosition,
+                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;lastSeqIds)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -361,7 +362,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.47">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.46">LOG</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -370,7 +371,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.56">conf</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.55">conf</a></pre>
 </li>
 </ul>
 <a name="walGroupId">
@@ -379,7 +380,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>walGroupId</h4>
-<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.57">walGroupId</a></pre>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.56">walGroupId</a></pre>
 </li>
 </ul>
 <a name="queue">
@@ -388,7 +389,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>queue</h4>
-<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.58">queue</a></pre>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.57">queue</a></pre>
 </li>
 </ul>
 <a name="source">
@@ -397,7 +398,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>source</h4>
-<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.59">source</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.58">source</a></pre>
 </li>
 </ul>
 <a name="lastLoggedPosition">
@@ -406,7 +407,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>lastLoggedPosition</h4>
-<pre>protected&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.62">lastLoggedPosition</a></pre>
+<pre>protected&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.61">lastLoggedPosition</a></pre>
 </li>
 </ul>
 <a name="currentPath">
@@ -415,7 +416,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>currentPath</h4>
-<pre>protected volatile&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.64">currentPath</a></pre>
+<pre>protected volatile&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.63">currentPath</a></pre>
 </li>
 </ul>
 <a name="state">
@@ -424,7 +425,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>state</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.66">state</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.65">state</a></pre>
 </li>
 </ul>
 <a name="entryReader">
@@ -433,7 +434,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>entryReader</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.67">entryReader</a></pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.66">entryReader</a></pre>
 </li>
 </ul>
 <a name="sleepForRetries">
@@ -442,7 +443,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>sleepForRetries</h4>
-<pre>protected final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.70">sleepForRetries</a></pre>
+<pre>protected final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.69">sleepForRetries</a></pre>
 </li>
 </ul>
 <a name="maxRetriesMultiplier">
@@ -451,7 +452,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>maxRetriesMultiplier</h4>
-<pre>protected final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.72">maxRetriesMultiplier</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.71">maxRetriesMultiplier</a></pre>
 </li>
 </ul>
 </li>
@@ -468,7 +469,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReplicationSourceShipper</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.74">ReplicationSourceShipper</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.73">ReplicationSourceShipper</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walGroupId,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;queue,
                                 <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;source)</pre>
@@ -488,7 +489,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.87">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.86">run</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -497,13 +498,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 </dl>
 </li>
 </ul>
-<a name="shipEdits-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch-">
+<a name="shipEdits-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>shipEdits</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.124">shipEdits</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>&nbsp;entryBatch)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.123">shipEdits</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;entryBatch)</pre>
 <div class="block">Do the shipping logic</div>
 </li>
 </ul>
@@ -513,7 +514,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanUpHFileRefs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.201">cleanUpHFileRefs</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.200">cleanUpHFileRefs</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -521,13 +522,14 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 </dl>
 </li>
 </ul>
-<a name="updateLogPosition-long-">
+<a name="updateLogPosition-long-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>updateLogPosition</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.225">updateLogPosition</a>(long&nbsp;lastReadPosition)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.224">updateLogPosition</a>(long&nbsp;lastReadPosition,
+                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;lastSeqIds)</pre>
 </li>
 </ul>
 <a name="startup-java.lang.Thread.UncaughtExceptionHandler-">
@@ -536,7 +538,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>startup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.231">startup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a>&nbsp;handler)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.230">startup</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a>&nbsp;handler)</pre>
 </li>
 </ul>
 <a name="getLogQueue--">
@@ -545,7 +547,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogQueue</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.237">getLogQueue</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">PriorityBlockingQueue</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.236">getLogQueue</a>()</pre>
 </li>
 </ul>
 <a name="getCurrentPath--">
@@ -554,7 +556,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentPath</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.241">getCurrentPath</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.240">getCurrentPath</a>()</pre>
 </li>
 </ul>
 <a name="getCurrentPosition--">
@@ -563,7 +565,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentPosition</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.245">getCurrentPosition</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.244">getCurrentPosition</a>()</pre>
 </li>
 </ul>
 <a name="setWALReader-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader-">
@@ -572,7 +574,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setWALReader</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.249">setWALReader</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a>&nbsp;entryReader)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.248">setWALReader</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a>&nbsp;entryReader)</pre>
 </li>
 </ul>
 <a name="getStartPosition--">
@@ -581,7 +583,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartPosition</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.253">getStartPosition</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.252">getStartPosition</a>()</pre>
 </li>
 </ul>
 <a name="isActive--">
@@ -590,7 +592,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isActive</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.257">isActive</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.256">isActive</a>()</pre>
 </li>
 </ul>
 <a name="setWorkerState-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceShipper.WorkerState-">
@@ -599,7 +601,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setWorkerState</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.261">setWorkerState</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>&nbsp;state)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.260">setWorkerState</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>&nbsp;state)</pre>
 </li>
 </ul>
 <a name="getWorkerState--">
@@ -608,7 +610,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getWorkerState</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.265">getWorkerState</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceShipper.WorkerState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.264">getWorkerState</a>()</pre>
 </li>
 </ul>
 <a name="stopWorker--">
@@ -617,7 +619,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>stopWorker</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.269">stopWorker</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.268">stopWorker</a>()</pre>
 </li>
 </ul>
 <a name="isFinished--">
@@ -626,7 +628,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isFinished</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.273">isFinished</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.272">isFinished</a>()</pre>
 </li>
 </ul>
 <a name="sleepForRetries-java.lang.String-int-">
@@ -635,7 +637,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sleepForRetries</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.283">sleepForRetries</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#line.282">sleepForRetries</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
                                int&nbsp;sleepMultiplier)</pre>
 <div class="block">Do the sleeping logic</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html
index d10c578..d763253 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.40">ReplicationSourceWALActionListener</a>
+class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.37">ReplicationSourceWALActionListener</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></pre>
 <div class="block">Used to receive new wals.</div>
@@ -239,7 +239,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/W
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.42">conf</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.39">conf</a></pre>
 </li>
 </ul>
 <a name="manager">
@@ -248,7 +248,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>manager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.44">manager</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.41">manager</a></pre>
 </li>
 </ul>
 </li>
@@ -265,7 +265,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReplicationSourceWALActionListener</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.46">ReplicationSourceWALActionListener</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.43">ReplicationSourceWALActionListener</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                           <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;manager)</pre>
 </li>
 </ul>
@@ -283,7 +283,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/W
 <ul class="blockList">
 <li class="blockList">
 <h4>preLogRoll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.52">preLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.49">preLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
                        org.apache.hadoop.fs.Path&nbsp;newPath)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#preLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">WALActionsListener</a></code></span></div>
@@ -306,7 +306,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/W
 <ul class="blockList">
 <li class="blockList">
 <h4>postLogRoll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.57">postLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.54">postLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
                         org.apache.hadoop.fs.Path&nbsp;newPath)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#postLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">WALActionsListener</a></code></span></div>
@@ -329,7 +329,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/W
 <ul class="blockList">
 <li class="blockList">
 <h4>visitLogEntryBeforeWrite</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.62">visitLogEntryBeforeWrite</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.59">visitLogEntryBeforeWrite</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                      <a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;logEdit)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -350,18 +350,15 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>scopeWALEdits</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.74">scopeWALEdits</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
+<pre>static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html#line.70">scopeWALEdits</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                           <a href="../../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;logEdit,
-                          org.apache.hadoop.conf.Configuration&nbsp;conf)
-                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+                          org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Utility method used to set the correct scopes on each log key. Doesn't set a scope on keys from
  compaction WAL edits and if the scope is local.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>logKey</code> - Key that may get scoped according to its edits</dd>
 <dd><code>logEdit</code> - Edits used to lookup the scopes</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If failed to parse the WALEdit</dd>
 </dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html
deleted file mode 100644
index 940abdc..0000000
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html
+++ /dev/null
@@ -1,557 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ReplicationSourceWALReader.WALEntryBatch (Apache HBase 3.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ReplicationSourceWALReader.WALEntryBatch (Apache HBase 3.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ReplicationSourceWALReader.WALEntryBatch.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" target="_top">Frames</a></li>
-<li><a href="ReplicationSourceWALReader.WALEntryBatch.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.replication.regionserver</div>
-<h2 title="Class ReplicationSourceWALReader.WALEntryBatch" class="title">Class ReplicationSourceWALReader.WALEntryBatch</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.WALEntryBatch</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></dd>
-</dl>
-<hr>
-<br>
-<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#line.363">ReplicationSourceWALReader.WALEntryBatch</a>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
-</li>
-</ul>
-</div>
-<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>private long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#heapSize">heapSize</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#lastWalPath">lastWalPath</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#lastWalPosition">lastWalPosition</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#nbHFiles">nbHFiles</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#nbRowKeys">nbRowKeys</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#walEntries">walEntries</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#WALEntryBatch-int-org.apache.hadoop.fs.Path-">WALEntryBatch</a></span>(int&nbsp;maxNbEntries,
-             org.apache.hadoop.fs.Path&nbsp;lastWalPath)</code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#addEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">addEntry</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getHeapSize--">getHeapSize</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getLastWalPath--">getLastWalPath</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getLastWalPosition--">getLastWalPosition</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getNbEntries--">getNbEntries</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getNbHFiles--">getNbHFiles</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getNbOperations--">getNbOperations</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getNbRowKeys--">getNbRowKeys</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#getWalEntries--">getWalEntries</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#incrementHeapSize-long-">incrementHeapSize</a></span>(long&nbsp;increment)</code>&nbsp;</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#incrementNbHFiles-int-">incrementNbHFiles</a></span>(int&nbsp;increment)</code>&nbsp;</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#incrementNbRowKeys-int-">incrementNbRowKeys</a></span>(int&nbsp;increment)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="walEntries">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>walEntries</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.364">walEntries</a></pre>
-</li>
-</ul>
-<a name="lastWalPath">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>lastWalPath</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.366">lastWalPath</a></pre>
-</li>
-</ul>
-<a name="lastWalPosition">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>lastWalPosition</h4>
-<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.368">lastWalPosition</a></pre>
-</li>
-</ul>
-<a name="nbRowKeys">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nbRowKeys</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.370">nbRowKeys</a></pre>
-</li>
-</ul>
-<a name="nbHFiles">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nbHFiles</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.372">nbHFiles</a></pre>
-</li>
-</ul>
-<a name="heapSize">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>heapSize</h4>
-<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.374">heapSize</a></pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="WALEntryBatch-int-org.apache.hadoop.fs.Path-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>WALEntryBatch</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.381">WALEntryBatch</a>(int&nbsp;maxNbEntries,
-              org.apache.hadoop.fs.Path&nbsp;lastWalPath)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>walEntries</code> - </dd>
-<dd><code>lastWalPath</code> - Path of the WAL the last entry in this batch was read from</dd>
-<dd><code>lastWalPosition</code> - Position in the WAL the last entry in this batch was read from</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="addEntry-org.apache.hadoop.hbase.wal.WAL.Entry-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addEntry</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.386">addEntry</a>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)</pre>
-</li>
-</ul>
-<a name="getWalEntries--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getWalEntries</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.393">getWalEntries</a>()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the WAL Entries.</dd>
-</dl>
-</li>
-</ul>
-<a name="getLastWalPath--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getLastWalPath</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.400">getLastWalPath</a>()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the path of the last WAL that was read.</dd>
-</dl>
-</li>
-</ul>
-<a name="getLastWalPosition--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getLastWalPosition</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.407">getLastWalPosition</a>()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the position in the last WAL that was read.</dd>
-</dl>
-</li>
-</ul>
-<a name="getNbEntries--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNbEntries</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.411">getNbEntries</a>()</pre>
-</li>
-</ul>
-<a name="getNbRowKeys--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNbRowKeys</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.418">getNbRowKeys</a>()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the number of distinct row keys in this batch</dd>
-</dl>
-</li>
-</ul>
-<a name="getNbHFiles--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNbHFiles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.425">getNbHFiles</a>()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the number of HFiles in this batch</dd>
-</dl>
-</li>
-</ul>
-<a name="getNbOperations--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNbOperations</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.432">getNbOperations</a>()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>total number of operations in this batch</dd>
-</dl>
-</li>
-</ul>
-<a name="getHeapSize--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getHeapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.439">getHeapSize</a>()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the heap size of this batch</dd>
-</dl>
-</li>
-</ul>
-<a name="incrementNbRowKeys-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>incrementNbRowKeys</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.443">incrementNbRowKeys</a>(int&nbsp;increment)</pre>
-</li>
-</ul>
-<a name="incrementNbHFiles-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>incrementNbHFiles</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.447">incrementNbHFiles</a>(int&nbsp;increment)</pre>
-</li>
-</ul>
-<a name="incrementHeapSize-long-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>incrementHeapSize</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html#line.451">incrementHeapSize</a>(long&nbsp;increment)</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ReplicationSourceWALReader.WALEntryBatch.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" target="_top">Frames</a></li>
-<li><a href="ReplicationSourceWALReader.WALEntryBatch.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>


[09/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 8e07c04..8c36b0f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = "485af49e53cb38e2af4635f2c3bc0b33e15ba0a1";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "b7b86839250bf9b295ebc1948826f43a88736d6c";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Sun Mar  4 05:45:33 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Mon Mar  5 14:41:23 UTC 2018";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "ae056300970e553626dc6912e61066bd";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "a96590ff72b740efcf08fb6bef3bd5d5";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html
index 1538cfd..b437410 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptor.html
@@ -240,69 +240,75 @@
 <span class="sourceLineNo">232</span>  boolean hasRegionMemStoreReplication();<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>   * Check if the compaction enable flag of the table is true. If flag is false<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   * then no minor/major compactions will be done in real.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   *<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * @return true if table compaction enabled<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  boolean isCompactionEnabled();<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>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   *<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt; region<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  boolean isMetaRegion();<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>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   *<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  boolean isMetaTable();<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>   * Check if normalization enable flag of the table is true. If flag is false<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * then no region normalizer won't attempt to normalize this table.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   *<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @return true if region normalization is enabled for this table<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  boolean isNormalizationEnabled();<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>   * Check if the readOnly flag of the table is set. If the readOnly flag is set<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * then the contents of the table can only be read from but not modified.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   *<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   * @return true if all columns in the table should be read only<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>  boolean isReadOnly();<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>   * Check if the table's cfs' replication scope matched with the replication state<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * @param enabled replication state<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @return true if matched, otherwise false<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  default boolean matchReplicationScope(boolean enabled) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    boolean hasEnabled = false;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    boolean hasDisabled = false;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>    for (ColumnFamilyDescriptor cf : getColumnFamilies()) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      if (cf.getScope() != HConstants.REPLICATION_SCOPE_GLOBAL) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        hasDisabled = true;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      } else {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        hasEnabled = true;<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>    if (hasEnabled &amp;&amp; hasDisabled) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      return false;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (hasEnabled) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      return enabled;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    return !enabled;<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">235</span>   * @return true if there are at least one cf whose replication scope is serial.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  boolean hasSerialReplicationScope();<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>   * Check if the compaction enable flag of the table is true. If flag is false<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * then no minor/major compactions will be done in real.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * @return true if table compaction enabled<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  boolean isCompactionEnabled();<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>   * Checks if this table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   *<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * @return true if this table is &lt;code&gt; hbase:meta &lt;/code&gt; region<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   */<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  boolean isMetaRegion();<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>   * Checks if the table is a &lt;code&gt;hbase:meta&lt;/code&gt; table<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   *<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @return true if table is &lt;code&gt; hbase:meta &lt;/code&gt; region.<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  boolean isMetaTable();<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>   * Check if normalization enable flag of the table is true. If flag is false<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * then no region normalizer won't attempt to normalize this table.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   *<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * @return true if region normalization is enabled for this table<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   */<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  boolean isNormalizationEnabled();<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>   * Check if the readOnly flag of the table is set. If the readOnly flag is set<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * then the contents of the table can only be read from but not modified.<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   *<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   * @return true if all columns in the table should be read only<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   */<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  boolean isReadOnly();<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>   * Check if the table's cfs' replication scope matched with the replication state<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param enabled replication state<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @return true if matched, otherwise false<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  default boolean matchReplicationScope(boolean enabled) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    boolean hasEnabled = false;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    boolean hasDisabled = false;<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    for (ColumnFamilyDescriptor cf : getColumnFamilies()) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      if (cf.getScope() != HConstants.REPLICATION_SCOPE_GLOBAL &amp;&amp;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>        cf.getScope() != HConstants.REPLICATION_SCOPE_SERIAL) {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        hasDisabled = true;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      } else {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        hasEnabled = true;<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>    if (hasEnabled &amp;&amp; hasDisabled) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      return false;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    if (hasEnabled) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      return enabled;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    return !enabled;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html
index 05c0542..644bb30 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html
@@ -1062,366 +1062,375 @@
 <span class="sourceLineNo">1054</span>    }<a name="line.1054"></a>
 <span class="sourceLineNo">1055</span><a name="line.1055"></a>
 <span class="sourceLineNo">1056</span>    /**<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>     * Returns the configured replicas per region<a name="line.1057"></a>
+<span class="sourceLineNo">1057</span>     * Return true if there are at least one cf whose replication scope is serial.<a name="line.1057"></a>
 <span class="sourceLineNo">1058</span>     */<a name="line.1058"></a>
 <span class="sourceLineNo">1059</span>    @Override<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    public int getRegionReplication() {<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>      return getOrDefault(REGION_REPLICATION_KEY, Integer::valueOf, DEFAULT_REGION_REPLICATION);<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>     * Sets the number of replicas per region.<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>     *<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>     * @param regionReplication the replication factor per region<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>     * @return the modifyable TD<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>     */<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>    public ModifyableTableDescriptor setRegionReplication(int regionReplication) {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>      return setValue(REGION_REPLICATION_KEY, Integer.toString(regionReplication));<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    }<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>     * @return true if the read-replicas memstore replication is enabled.<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>     */<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    @Override<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    public boolean hasRegionMemStoreReplication() {<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>      return getOrDefault(REGION_MEMSTORE_REPLICATION_KEY, Boolean::valueOf, DEFAULT_REGION_MEMSTORE_REPLICATION);<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    }<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span><a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>    /**<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>     * Enable or Disable the memstore replication from the primary region to the<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>     * replicas. The replication will be used only for meta operations (e.g.<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>     * flush, compaction, ...)<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>     *<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>     * @param memstoreReplication true if the new data written to the primary<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>     * region should be replicated. false if the secondaries can tollerate to<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>     * have new data only when the primary flushes the memstore.<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>     * @return the modifyable TD<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>     */<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>    public ModifyableTableDescriptor setRegionMemStoreReplication(boolean memstoreReplication) {<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>      setValue(REGION_MEMSTORE_REPLICATION_KEY, Boolean.toString(memstoreReplication));<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>      // If the memstore replication is setup, we do not have to wait for observing a flush event<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>      // from primary before starting to serve reads, because gaps from replication is not applicable<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>      return setValue(REGION_REPLICA_WAIT_FOR_PRIMARY_FLUSH_CONF_KEY,<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>              Boolean.toString(memstoreReplication));<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>    public ModifyableTableDescriptor setPriority(int priority) {<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>      return setValue(PRIORITY_KEY, Integer.toString(priority));<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    }<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span><a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    @Override<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>    public int getPriority() {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>      return getOrDefault(PRIORITY_KEY, Integer::valueOf, DEFAULT_PRIORITY);<a name="line.1106"></a>
+<span class="sourceLineNo">1060</span>    public boolean hasSerialReplicationScope() {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>      return families.values().stream()<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>        .anyMatch(column -&gt; column.getScope() == HConstants.REPLICATION_SCOPE_SERIAL);<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>    /**<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>     * Returns the configured replicas per region<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>     */<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>    @Override<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>    public int getRegionReplication() {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>      return getOrDefault(REGION_REPLICATION_KEY, Integer::valueOf, DEFAULT_REGION_REPLICATION);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>    }<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span><a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>    /**<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>     * Sets the number of replicas per region.<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>     *<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>     * @param regionReplication the replication factor per region<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>     * @return the modifyable TD<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>     */<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    public ModifyableTableDescriptor setRegionReplication(int regionReplication) {<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>      return setValue(REGION_REPLICATION_KEY, Integer.toString(regionReplication));<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>    }<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span><a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>    /**<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>     * @return true if the read-replicas memstore replication is enabled.<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>    public boolean hasRegionMemStoreReplication() {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>      return getOrDefault(REGION_MEMSTORE_REPLICATION_KEY, Boolean::valueOf, DEFAULT_REGION_MEMSTORE_REPLICATION);<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>    }<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span><a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>    /**<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>     * Enable or Disable the memstore replication from the primary region to the<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>     * replicas. The replication will be used only for meta operations (e.g.<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>     * flush, compaction, ...)<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>     *<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>     * @param memstoreReplication true if the new data written to the primary<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>     * region should be replicated. false if the secondaries can tollerate to<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>     * have new data only when the primary flushes the memstore.<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>     * @return the modifyable TD<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>     */<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    public ModifyableTableDescriptor setRegionMemStoreReplication(boolean memstoreReplication) {<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>      setValue(REGION_MEMSTORE_REPLICATION_KEY, Boolean.toString(memstoreReplication));<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      // If the memstore replication is setup, we do not have to wait for observing a flush event<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>      // from primary before starting to serve reads, because gaps from replication is not applicable<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>      return setValue(REGION_REPLICA_WAIT_FOR_PRIMARY_FLUSH_CONF_KEY,<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>              Boolean.toString(memstoreReplication));<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>     * Returns all the column family names of the current table. The map of<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>     * TableDescriptor contains mapping of family name to ColumnFamilyDescriptor.<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>     * This returns all the keys of the family map which represents the column<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>     * family names of the table.<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>     *<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>     * @return Immutable sorted set of the keys of the families.<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>     */<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    @Override<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>    public Set&lt;byte[]&gt; getColumnFamilyNames() {<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>      return Collections.unmodifiableSet(this.families.keySet());<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">1122</span>    /**<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>     * Returns the ColumnFamilyDescriptor for a specific column family with name as<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>     * specified by the parameter column.<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>     *<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>     * @param column Column family name<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>     * passed in column.<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>     */<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>    @Override<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>    public ColumnFamilyDescriptor getColumnFamily(final byte[] column) {<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>      return this.families.get(column);<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    }<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>    /**<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>     * Removes the ColumnFamilyDescriptor with name specified by the parameter column<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>     * from the table descriptor<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>     *<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>     * @param column Name of the column family to be removed.<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>     * passed in column.<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>     */<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>    public ColumnFamilyDescriptor removeColumnFamily(final byte[] column) {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>      return this.families.remove(column);<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>    }<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    /**<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>     * loadable or not will be determined when a region is opened.<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>     *<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>     * @param className Full class name.<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>     * @throws IOException<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>     * @return the modifyable TD<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>     */<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    public ModifyableTableDescriptor addCoprocessor(String className) throws IOException {<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      return addCoprocessor(className, null, Coprocessor.PRIORITY_USER, null);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>    }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>    /**<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>     * loadable or not will be determined when a region is opened.<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>     *<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>     * @param jarFilePath Path of the jar file. If it's null, the class will be<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>     * loaded from default classloader.<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>     * @param className Full class name.<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>     * @param priority Priority<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>     * @param kvs Arbitrary key-value parameter pairs passed into the<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>     * coprocessor.<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>     * @throws IOException<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>     * @return the modifyable TD<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>     */<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>    public ModifyableTableDescriptor addCoprocessor(String className, Path jarFilePath,<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>            int priority, final Map&lt;String, String&gt; kvs)<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>            throws IOException {<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>      checkHasCoprocessor(className);<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>      // Validate parameter kvs and then add key/values to kvString.<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>      StringBuilder kvString = new StringBuilder();<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>      if (kvs != null) {<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>        for (Map.Entry&lt;String, String&gt; e : kvs.entrySet()) {<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>          if (!e.getKey().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN)) {<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>            throw new IOException("Illegal parameter key = " + e.getKey());<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>          }<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>          if (!e.getValue().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN)) {<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>            throw new IOException("Illegal parameter (" + e.getKey()<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>                    + ") value = " + e.getValue());<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>          }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>          if (kvString.length() != 0) {<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>            kvString.append(',');<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>          }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>          kvString.append(e.getKey());<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>          kvString.append('=');<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>          kvString.append(e.getValue());<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>        }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>      }<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span><a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>      String value = ((jarFilePath == null) ? "" : jarFilePath.toString())<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>              + "|" + className + "|" + Integer.toString(priority) + "|"<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>              + kvString.toString();<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>      return addCoprocessorToMap(value);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>    }<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span><a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>    /**<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>     * loadable or not will be determined when a region is opened.<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>     *<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>     * @throws IOException<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>     * @return the modifyable TD<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>     */<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>    public ModifyableTableDescriptor addCoprocessorWithSpec(final String specStr) throws IOException {<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>      String className = getCoprocessorClassNameFromSpecStr(specStr);<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>      if (className == null) {<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>        throw new IllegalArgumentException("Format does not match "<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>                + HConstants.CP_HTD_ATTR_VALUE_PATTERN + ": " + specStr);<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>      }<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>      checkHasCoprocessor(className);<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>      return addCoprocessorToMap(specStr);<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>    }<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span><a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>    private void checkHasCoprocessor(final String className) throws IOException {<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>      if (hasCoprocessor(className)) {<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>        throw new IOException("Coprocessor " + className + " already exists.");<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>      }<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>    }<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span><a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>    /**<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>     * Add coprocessor to values Map<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>     *<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>     * @return Returns &lt;code&gt;this&lt;/code&gt;<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>     */<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>    private ModifyableTableDescriptor addCoprocessorToMap(final String specStr) {<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>      if (specStr == null) {<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>        return this;<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>      }<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>      // generate a coprocessor key<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>      int maxCoprocessorNumber = 0;<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span>      Matcher keyMatcher;<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>        if (!keyMatcher.matches()) {<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>          continue;<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>        }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>        maxCoprocessorNumber = Math.max(Integer.parseInt(keyMatcher.group(1)), maxCoprocessorNumber);<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>      }<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>      maxCoprocessorNumber++;<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>      String key = "coprocessor$" + Integer.toString(maxCoprocessorNumber);<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>      return setValue(new Bytes(Bytes.toBytes(key)), new Bytes(Bytes.toBytes(specStr)));<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>    }<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span><a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>    /**<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>     * Check if the table has an attached co-processor represented by the name<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>     * className<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>     *<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>     * @param classNameToMatch - Class name of the co-processor<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>     * @return true of the table has a co-processor className<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>     */<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>    @Override<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>    public boolean hasCoprocessor(String classNameToMatch) {<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>      Matcher keyMatcher;<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>              : this.values.entrySet()) {<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>        keyMatcher<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>                = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>                        Bytes.toString(e.getKey().get()));<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>        if (!keyMatcher.matches()) {<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>          continue;<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>        }<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>        if (className == null) {<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>          continue;<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>        }<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>        if (className.equals(classNameToMatch.trim())) {<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>          return true;<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>        }<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>      }<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>      return false;<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>    }<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span><a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>    /**<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>     * Return the list of attached co-processor represented by their name<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>     * className<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>     *<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>     * @return The list of co-processors classNames<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>     */<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>    @Override<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>    public List&lt;String&gt; getCoprocessors() {<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>      List&lt;String&gt; result = new ArrayList&lt;&gt;(this.values.entrySet().size());<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>      Matcher keyMatcher;<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>        if (!keyMatcher.matches()) {<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>          continue;<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>        }<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>        if (className == null) {<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>          continue;<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>        }<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>        result.add(className); // classname is the 2nd field<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      }<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span>      return result;<a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>    }<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span><a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>    /**<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>     * @param spec String formatted as per<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>     * {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>     * @return Class parsed from passed in &lt;code&gt;spec&lt;/code&gt; or null if no match<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>     * or classpath found<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>     */<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>    private static String getCoprocessorClassNameFromSpecStr(final String spec) {<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>      Matcher matcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(spec);<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>      // Classname is the 2nd field<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>      return matcher != null &amp;&amp; matcher.matches() ? matcher.group(2).trim() : null;<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>    }<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span><a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>    /**<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>     * Remove a coprocessor from those set on the table<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>     *<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>     * @param className Class name of the co-processor<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span>     */<a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>    public void removeCoprocessor(String className) {<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>      Bytes match = null;<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>      Matcher keyMatcher;<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>      Matcher valueMatcher;<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>              .entrySet()) {<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>                .getKey().get()));<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>        if (!keyMatcher.matches()) {<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>          continue;<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>        }<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>        valueMatcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(Bytes<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>                .toString(e.getValue().get()));<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>        if (!valueMatcher.matches()) {<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>          continue;<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>        }<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>        // get className and compare<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>        String clazz = valueMatcher.group(2).trim(); // classname is the 2nd field<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>        // remove the CP if it is present<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>        if (clazz.equals(className.trim())) {<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>          match = e.getKey();<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>          break;<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>        }<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>      }<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>      // if we found a match, remove it<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>      if (match != null) {<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>        ModifyableTableDescriptor.this.removeValue(match);<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>      }<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>    }<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span><a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>    @Deprecated<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>    public ModifyableTableDescriptor setOwner(User owner) {<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      return setOwnerString(owner != null ? owner.getShortName() : null);<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>    }<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>    // used by admin.rb:alter(table_name,*args) to update owner.<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>    @Deprecated<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>    public ModifyableTableDescriptor setOwnerString(String ownerString) {<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      return setValue(OWNER_KEY, ownerString);<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>    }<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span><a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    @Override<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>    @Deprecated<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>    public String getOwnerString() {<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>      // Note that every table should have an owner (i.e. should have OWNER_KEY set).<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>      // hbase:meta should return system user as owner, not null (see<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>      // MasterFileSystem.java:bootstrap()).<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span>      return getOrDefault(OWNER_KEY, Function.identity(), null);<a name="line.1377"></a>
+<span class="sourceLineNo">1109</span>    public ModifyableTableDescriptor setPriority(int priority) {<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>      return setValue(PRIORITY_KEY, Integer.toString(priority));<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>    }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span><a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    @Override<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>    public int getPriority() {<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>      return getOrDefault(PRIORITY_KEY, Integer::valueOf, DEFAULT_PRIORITY);<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>    }<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">1119</span>     * Returns all the column family names of the current table. The map of<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>     * TableDescriptor contains mapping of family name to ColumnFamilyDescriptor.<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>     * This returns all the keys of the family map which represents the column<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>     * family names of the table.<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>     *<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>     * @return Immutable sorted set of the keys of the families.<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>     */<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>    @Override<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>    public Set&lt;byte[]&gt; getColumnFamilyNames() {<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>      return Collections.unmodifiableSet(this.families.keySet());<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>    }<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>    /**<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>     * Returns the ColumnFamilyDescriptor for a specific column family with name as<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>     * specified by the parameter column.<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>     *<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>     * @param column Column family name<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>     * passed in column.<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>     */<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>    @Override<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>    public ColumnFamilyDescriptor getColumnFamily(final byte[] column) {<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>      return this.families.get(column);<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>    }<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span><a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>    /**<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>     * Removes the ColumnFamilyDescriptor with name specified by the parameter column<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>     * from the table descriptor<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>     *<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>     * @param column Name of the column family to be removed.<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>     * @return Column descriptor for the passed family name or the family on<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>     * passed in column.<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>     */<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    public ColumnFamilyDescriptor removeColumnFamily(final byte[] column) {<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>      return this.families.remove(column);<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>    }<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>    /**<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>     * loadable or not will be determined when a region is opened.<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>     *<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>     * @param className Full class name.<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>     * @throws IOException<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>     * @return the modifyable TD<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>     */<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>    public ModifyableTableDescriptor addCoprocessor(String className) throws IOException {<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>      return addCoprocessor(className, null, Coprocessor.PRIORITY_USER, null);<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>    }<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span><a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>    /**<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>     * loadable or not will be determined when a region is opened.<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>     *<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>     * @param jarFilePath Path of the jar file. If it's null, the class will be<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>     * loaded from default classloader.<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>     * @param className Full class name.<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>     * @param priority Priority<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>     * @param kvs Arbitrary key-value parameter pairs passed into the<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>     * coprocessor.<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>     * @throws IOException<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>     * @return the modifyable TD<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>     */<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>    public ModifyableTableDescriptor addCoprocessor(String className, Path jarFilePath,<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>            int priority, final Map&lt;String, String&gt; kvs)<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>            throws IOException {<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>      checkHasCoprocessor(className);<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span><a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>      // Validate parameter kvs and then add key/values to kvString.<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>      StringBuilder kvString = new StringBuilder();<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>      if (kvs != null) {<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>        for (Map.Entry&lt;String, String&gt; e : kvs.entrySet()) {<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>          if (!e.getKey().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_KEY_PATTERN)) {<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>            throw new IOException("Illegal parameter key = " + e.getKey());<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>          }<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>          if (!e.getValue().matches(HConstants.CP_HTD_ATTR_VALUE_PARAM_VALUE_PATTERN)) {<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>            throw new IOException("Illegal parameter (" + e.getKey()<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>                    + ") value = " + e.getValue());<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>          }<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>          if (kvString.length() != 0) {<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>            kvString.append(',');<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>          }<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>          kvString.append(e.getKey());<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>          kvString.append('=');<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>          kvString.append(e.getValue());<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>        }<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>      }<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span><a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>      String value = ((jarFilePath == null) ? "" : jarFilePath.toString())<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>              + "|" + className + "|" + Integer.toString(priority) + "|"<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>              + kvString.toString();<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      return addCoprocessorToMap(value);<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>    }<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span><a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>    /**<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>     * Add a table coprocessor to this table. The coprocessor type must be<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>     * org.apache.hadoop.hbase.coprocessor.RegionObserver or Endpoint. It won't<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>     * check if the class can be loaded or not. Whether a coprocessor is<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>     * loadable or not will be determined when a region is opened.<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>     *<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>     * @throws IOException<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>     * @return the modifyable TD<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>     */<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>    public ModifyableTableDescriptor addCoprocessorWithSpec(final String specStr) throws IOException {<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>      String className = getCoprocessorClassNameFromSpecStr(specStr);<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>      if (className == null) {<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>        throw new IllegalArgumentException("Format does not match "<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>                + HConstants.CP_HTD_ATTR_VALUE_PATTERN + ": " + specStr);<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>      }<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>      checkHasCoprocessor(className);<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>      return addCoprocessorToMap(specStr);<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>    }<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span><a name="line.1236"></a>
+<span class="sourceLineNo">1237</span>    private void checkHasCoprocessor(final String className) throws IOException {<a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>      if (hasCoprocessor(className)) {<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>        throw new IOException("Coprocessor " + className + " already exists.");<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>      }<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>    }<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span><a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>    /**<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>     * Add coprocessor to values Map<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>     *<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>     * @param specStr The Coprocessor specification all in in one String<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span>     * formatted so matches {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1247"></a>
+<span class="sourceLineNo">1248</span>     * @return Returns &lt;code&gt;this&lt;/code&gt;<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>     */<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>    private ModifyableTableDescriptor addCoprocessorToMap(final String specStr) {<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>      if (specStr == null) {<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>        return this;<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>      }<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>      // generate a coprocessor key<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>      int maxCoprocessorNumber = 0;<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span>      Matcher keyMatcher;<a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>        if (!keyMatcher.matches()) {<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>          continue;<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>        }<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>        maxCoprocessorNumber = Math.max(Integer.parseInt(keyMatcher.group(1)), maxCoprocessorNumber);<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>      }<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span>      maxCoprocessorNumber++;<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>      String key = "coprocessor$" + Integer.toString(maxCoprocessorNumber);<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>      return setValue(new Bytes(Bytes.toBytes(key)), new Bytes(Bytes.toBytes(specStr)));<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>    }<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span><a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>    /**<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>     * Check if the table has an attached co-processor represented by the name<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>     * className<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span>     *<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>     * @param classNameToMatch - Class name of the co-processor<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>     * @return true of the table has a co-processor className<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>     */<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>    @Override<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>    public boolean hasCoprocessor(String classNameToMatch) {<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>      Matcher keyMatcher;<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>              : this.values.entrySet()) {<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>        keyMatcher<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>                = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>                        Bytes.toString(e.getKey().get()));<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>        if (!keyMatcher.matches()) {<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>          continue;<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>        }<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>        if (className == null) {<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>          continue;<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>        }<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span>        if (className.equals(classNameToMatch.trim())) {<a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>          return true;<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>        }<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>      }<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>      return false;<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>    }<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span><a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>    /**<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>     * Return the list of attached co-processor represented by their name<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>     * className<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>     *<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>     * @return The list of co-processors classNames<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>     */<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>    @Override<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>    public List&lt;String&gt; getCoprocessors() {<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>      List&lt;String&gt; result = new ArrayList&lt;&gt;(this.values.entrySet().size());<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>      Matcher keyMatcher;<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values.entrySet()) {<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e.getKey().get()));<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>        if (!keyMatcher.matches()) {<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>          continue;<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>        }<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>        String className = getCoprocessorClassNameFromSpecStr(Bytes.toString(e.getValue().get()));<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>        if (className == null) {<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>          continue;<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>        }<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>        result.add(className); // classname is the 2nd field<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>      }<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>      return result;<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>    }<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span><a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>    /**<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>     * @param spec String formatted as per<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>     * {@link HConstants#CP_HTD_ATTR_VALUE_PATTERN}<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>     * @return Class parsed from passed in &lt;code&gt;spec&lt;/code&gt; or null if no match<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>     * or classpath found<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>     */<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>    private static String getCoprocessorClassNameFromSpecStr(final String spec) {<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>      Matcher matcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(spec);<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>      // Classname is the 2nd field<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span>      return matcher != null &amp;&amp; matcher.matches() ? matcher.group(2).trim() : null;<a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>    }<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span><a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>    /**<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>     * Remove a coprocessor from those set on the table<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>     *<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>     * @param className Class name of the co-processor<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>     */<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>    public void removeCoprocessor(String className) {<a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>      Bytes match = null;<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>      Matcher keyMatcher;<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>      Matcher valueMatcher;<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>      for (Map.Entry&lt;Bytes, Bytes&gt; e : this.values<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>              .entrySet()) {<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>        keyMatcher = HConstants.CP_HTD_ATTR_KEY_PATTERN.matcher(Bytes.toString(e<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>                .getKey().get()));<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>        if (!keyMatcher.matches()) {<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>          continue;<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>        }<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>        valueMatcher = HConstants.CP_HTD_ATTR_VALUE_PATTERN.matcher(Bytes<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>                .toString(e.getValue().get()));<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>        if (!valueMatcher.matches()) {<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>          continue;<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>        }<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>        // get className and compare<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>        String clazz = valueMatcher.group(2).trim(); // classname is the 2nd field<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>        // remove the CP if it is present<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>        if (clazz.equals(className.trim())) {<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>          match = e.getKey();<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>          break;<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>        }<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>      }<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>      // if we found a match, remove it<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      if (match != null) {<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>        ModifyableTableDescriptor.this.removeValue(match);<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>      }<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    }<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span><a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>    @Deprecated<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>    public ModifyableTableDescriptor setOwner(User owner) {<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>      return setOwnerString(owner != null ? owner.getShortName() : null);<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>    }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span><a name="line.1373"></a>
+<span class="sourceLineNo">1374</span>    // used by admin.rb:alter(table_name,*args) to update owner.<a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>    @Deprecated<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>    public ModifyableTableDescriptor setOwnerString(String ownerString) {<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>      return setValue(OWNER_KEY, ownerString);<a name="line.1377"></a>
 <span class="sourceLineNo">1378</span>    }<a name="line.1378"></a>
 <span class="sourceLineNo">1379</span><a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>    /**<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>     * @return the bytes in pb format<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>     */<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>    private byte[] toByteArray() {<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span>      return ProtobufUtil.prependPBMagic(ProtobufUtil.toTableSchema(this).toByteArray());<a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>    }<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span><a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>    /**<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>     * @param bytes A pb serialized {@link ModifyableTableDescriptor} instance<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span>     * with pb magic prefix<a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>     * @return An instance of {@link ModifyableTableDescriptor} made from<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>     * &lt;code&gt;bytes&lt;/code&gt;<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>     * @throws DeserializationException<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>     * @see #toByteArray()<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span>     */<a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>    private static TableDescriptor parseFrom(final byte[] bytes)<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>            throws DeserializationException {<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>      if (!ProtobufUtil.isPBMagicPrefix(bytes)) {<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>        throw new DeserializationException("Expected PB encoded ModifyableTableDescriptor");<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span>      }<a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>      int pblen = ProtobufUtil.lengthOfPBMagic();<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>      HBaseProtos.TableSchema.Builder builder = HBaseProtos.TableSchema.newBuilder();<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>      try {<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>        ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span>        return ProtobufUtil.toTableDescriptor(builder.build());<a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>      } catch (IOException e) {<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>        throw new DeserializationException(e);<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>      }<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>    }<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span><a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>    @Override<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>    public int getColumnFamilyCount() {<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>      return families.size();<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>    }<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span>  }<a name="line.1414"></a>
-<span class="sourceLineNo">1415</span><a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>}<a name="line.1416"></a>
+<span class="sourceLineNo">1380</span>    @Override<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>    @Deprecated<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>    public String getOwnerString() {<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>      // Note that every table should have an owner (i.e. should have OWNER_KEY set).<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>      // hbase:meta should return system user as owner, not null (see<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>      // MasterFileSystem.java:bootstrap()).<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span>      return getOrDefault(OWNER_KEY, Function.identity(), null);<a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>    }<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span><a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>    /**<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>     * @return the bytes in pb format<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span>     */<a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>    private byte[] toByteArray() {<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span>      return ProtobufUtil.prependPBMagic(ProtobufUtil.toTableSchema(this).toByteArray());<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>    }<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span><a name="line.1395"></a>
+<span class="sourceLineNo">1396</span>    /**<a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>     * @param bytes A pb serialized {@link ModifyableTableDescriptor} instance<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>     * with pb magic prefix<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>     * @return An instance of {@link ModifyableTableDescriptor} made from<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>     * &lt;code&gt;bytes&lt;/code&gt;<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span>     * @throws DeserializationException<a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>     * @see #toByteArray()<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>     */<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>    private static TableDescriptor parseFrom(final byte[] bytes)<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>            throws DeserializationException {<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span>      if (!ProtobufUtil.isPBMagicPrefix(bytes)) {<a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>        throw new DeserializationException("Expected PB encoded ModifyableTableDescriptor");<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>      }<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>      int pblen = ProtobufUtil.lengthOfPBMagic();<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>      HBaseProtos.TableSchema.Builder builder = HBaseProtos.TableSchema.newBuilder();<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span>      try {<a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>        ProtobufUtil.mergeFrom(builder, bytes, pblen, bytes.length - pblen);<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>        return ProtobufUtil.toTableDescriptor(builder.build());<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>      } catch (IOException e) {<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>        throw new DeserializationException(e);<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span>      }<a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>    }<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span><a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>    @Override<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>    public int getColumnFamilyCount() {<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span>      return families.size();<a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>    }<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>  }<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span><a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>}<a name="line.1425"></a>
 
 
 


[11/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html
index df5fa53..8fffb89 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.Visitor.html
@@ -42,1927 +42,2060 @@
 <span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.conf.Configuration;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Get;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Put;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.Result;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.Table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.slf4j.Logger;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.slf4j.LoggerFactory;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * AssignmentManager) we want permanent connection.<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * &lt;/p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * called default replica.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;pre&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * For each table there is single row in column family 'table' formatted:<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * table: state             =&gt; contains table state<a name="line.98"></a>
-<span class="sourceLineNo">099</span> *<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * For each table range, there is a single row, formatted like:<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * This row corresponds to the regionName of the default region replica.<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * Columns are:<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.104"></a>
-<span class="sourceLineNo">105</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *                            the default regionInfo replica<a name="line.106"></a>
-<span class="sourceLineNo">107</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *                                 the regionInfo replica with replicaId<a name="line.108"></a>
-<span class="sourceLineNo">109</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *                            hosting the default regionInfo replica<a name="line.110"></a>
-<span class="sourceLineNo">111</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.111"></a>
-<span class="sourceLineNo">112</span> *                                          the server hosting the regionInfo replica with<a name="line.112"></a>
-<span class="sourceLineNo">113</span> *                                          replicaId<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.114"></a>
-<span class="sourceLineNo">115</span> *                             the server opened the region with default replicaId<a name="line.115"></a>
-<span class="sourceLineNo">116</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.116"></a>
-<span class="sourceLineNo">117</span> *                                           at the time the server opened the region with<a name="line.117"></a>
-<span class="sourceLineNo">118</span> *                                           replicaId<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.119"></a>
-<span class="sourceLineNo">120</span> *                             region is split<a name="line.120"></a>
-<span class="sourceLineNo">121</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.121"></a>
-<span class="sourceLineNo">122</span> *                             region is split<a name="line.122"></a>
-<span class="sourceLineNo">123</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.123"></a>
-<span class="sourceLineNo">124</span> *                             region is the result of a merge<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.125"></a>
-<span class="sourceLineNo">126</span> *                             region is the result of a merge<a name="line.126"></a>
-<span class="sourceLineNo">127</span> * &lt;/pre&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> * &lt;/p&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.130"></a>
-<span class="sourceLineNo">131</span> * leak out of it (through Result objects, etc)<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * &lt;/p&gt;<a name="line.132"></a>
-<span class="sourceLineNo">133</span> */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>@InterfaceAudience.Private<a name="line.134"></a>
-<span class="sourceLineNo">135</span>public class MetaTableAccessor {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.138"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static final byte [] META_REGION_PREFIX;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  static {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    META_REGION_PREFIX = new byte [len];<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      META_REGION_PREFIX, 0, len);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Lists all of the table regions currently in META.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Deprecated, keep there until some test use this.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param connection what we will use<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param tableName table to list<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @return Map of all user-space regions to servers<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        RegionLocations locations = getRegionLocations(result);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (locations == null) return true;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          if (loc != null) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public enum QueryType {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    private final byte[][] families;<a name="line.186"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>    QueryType(byte[]... families) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return this.families;<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><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.198"></a>
+<span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  ////////////////////////<a name="line.206"></a>
+<span class="sourceLineNo">200</span>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param connection connection we're using<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static void fullScanRegions(Connection connection,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      final Visitor visitor)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param connection connection we're using<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      throws IOException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param connection connection we're using<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static void fullScanTables(Connection connection,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      final Visitor visitor)<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param connection connection we're using<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param type scanned part of meta<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return List of {@link Result}<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    scanMeta(connection, null, null, type, v);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param connection connection we're using to access Meta<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public static Table getMetaHTable(final Connection connection)<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (connection == null) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throw new NullPointerException("No connection");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    } else if (connection.isClosed()) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      throw new IOException("connection is closed");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return connection.getTable(TableName.META_TABLE_NAME);<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>   * @param t Table to use (will be closed when done).<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @param g Get to run<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (t == null) return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return t.get(g);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } finally {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      t.close();<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>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Gets the region info and assignment for the specified region.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param connection connection we're using<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param regionName Region to lookup.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Deprecated<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    throws IOException {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return location == null<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      ? null<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param connection connection we're using<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param regionName region we're looking for<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return HRegionLocation for the given region<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    byte[] row = regionName;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    RegionInfo parsedInfo = null;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    } catch (Exception parseEx) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Get get = new Get(row);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    Result r = get(getMetaHTable(connection), get);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    RegionLocations locations = getRegionLocations(r);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return locations == null ? null<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param connection connection we're using<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param regionInfo region information<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return HRegionLocation for the given region<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Get get = new Get(row);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Result r = get(getMetaHTable(connection), get);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * in the regionName.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>              .setStartKey(fields[1])<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              .setEndKey(fields[2])<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              .setSplit(false)<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              .setRegionId(regionId)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              .setReplicaId(replicaId)<a name="line.354"></a>
-<span class="sourceLineNo">355</span>              .build();<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>  /**<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * Gets the result in hbase:meta for the specified region.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param connection connection we're using<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param regionName region we're looking for<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return result of the specified region<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static Result getRegionResult(Connection connection,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      byte[] regionName) throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    Get get = new Get(regionName);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Nullable<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    Result result = getRegionResult(connection, regionName);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * the specified server.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @param connection connection we're using<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param tableName table to check<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @return true if the table exists in meta, false if not<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public static boolean tableExists(Connection connection,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      final TableName tableName)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  throws IOException {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Catalog tables always exist.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param connection to connect with<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @return List of all user-space regions.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @VisibleForTesting<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      boolean excludeOfflinedSplitParents)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        excludeOfflinedSplitParents);<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>    return getListOfRegionInfos(result);<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>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param connection connection we're using<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @param tableName table we're looking for<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param connection connection we're using<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @param tableName table we're looking for<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * parents in the return.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return getListOfRegionInfos(result);<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>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return Collections.emptyList();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      result.add(pair.getFirst());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return result;<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>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param tableName table we're working with<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * @return start row for scanning META according to query type<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (tableName == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return null;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    switch (type) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    case REGION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return startRow;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    case ALL:<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    case TABLE:<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    default:<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      return tableName.getName();<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>  /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param tableName table we're working with<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @return stop row for scanning META according to query type<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (tableName == null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    final byte[] stopRow;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    switch (type) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    case REGION:<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      break;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    case ALL:<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    case TABLE:<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    default:<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      break;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return stopRow;<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>   * This method creates a Scan object that will only scan catalog rows that<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This is a better alternative to just using a start row and scan until<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * name.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * @param tableName bytes of table's name<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @return configured Scan object<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  @Deprecated<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // Start key is just the table name with delimiters<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // Stop key appends the smallest possible char to the table name<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    Scan scan = getMetaScan(connection, -1);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    scan.setStartRow(startKey);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    scan.setStopRow(stopKey);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return scan;<a name="line.532"></a>
-<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>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    Scan scan = new Scan();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int scannerCaching = connection.getConfiguration()<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (rowUpperLimit &gt; 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      scan.setLimit(rowUpperLimit);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    scan.setCaching(scannerCaching);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param connection connection we're using<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * @param tableName table we're looking for<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return Return list of regioninfos and server.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   */<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return getTableRegionsAndLocations(connection, tableName, true);<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param connection connection we're using<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return Return list of regioninfos and server addresses.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @throws IOException<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      Connection connection, @Nullable final TableName tableName,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        + " use MetaTableLocator instead");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        private RegionLocations current = null;<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>        @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        public boolean visit(Result r) throws IOException {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          current = getRegionLocations(r);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            return true;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Else call super and add this Result to the collection.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          return super.visit(r);<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>        @Override<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        void add(Result r) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>          if (current == null) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>            return;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>            if (loc != null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    scanMeta(connection,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        QueryType.REGION, visitor);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return visitor.getResults();<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>  /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param connection connection we're using<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param serverName server whose regions we're interested in<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @return List of user regions installed on this server (does not include<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * catalog regions).<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @throws IOException<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    // servername.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      @Override<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      void add(Result r) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        if (r == null || r.isEmpty()) return;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        RegionLocations locations = getRegionLocations(r);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        if (locations == null) return;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          if (loc != null) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>              hris.put(loc.getRegion(), r);<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>      }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    };<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    return hris;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    throws IOException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Visitor v = new Visitor() {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      @Override<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      public boolean visit(Result r) throws IOException {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        TableState state = getTableState(r);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (state != null) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          LOG.info("Table State: " + state);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        } else {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          RegionLocations locations = getRegionLocations(r);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          if (locations == null) return true;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            if (loc != null) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        }<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Performs a scan of META table for given table starting from<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * given row.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   *<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param connection connection we're using<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param visitor    visitor to call<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableName  table withing we scan<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param row        start scan from this row<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param rowLimit   max number of rows to return<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static void scanMeta(Connection connection,<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      final Visitor visitor, final TableName tableName,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final byte[] row, final int rowLimit)<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      throws IOException {<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    byte[] startRow = null;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    byte[] stopRow = null;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    if (tableName != null) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      startRow =<a name="line.709"></a>
-<span class="sourceLineNo">710</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      if (row != null) {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        RegionInfo closestRi =<a name="line.712"></a>
-<span class="sourceLineNo">713</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        startRow = RegionInfo<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      stopRow =<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<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><a name="line.723"></a>
-<span class="sourceLineNo">724</span>  /**<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * Performs a scan of META table.<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * @param connection connection we're using<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *                 at first row.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stopRow Where to stop the scan. Pass null if want to scan all rows<a name="line.729"></a>
-<span class="so

<TRUNCATED>

[06/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html
index 3563b1c..0cc71bf 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionChore.html
@@ -1577,387 +1577,386 @@
 <span class="sourceLineNo">1569</span>  }<a name="line.1569"></a>
 <span class="sourceLineNo">1570</span><a name="line.1570"></a>
 <span class="sourceLineNo">1571</span>  public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>      final RegionInfo daughterA, final RegionInfo daughterB)<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>  throws IOException {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>    // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>    // Update its state in regionStates to it shows as offline and split when read<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>    // later figuring what regions are in a table and what are not: see<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>    // regionStates#getRegionsOfTable<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>    node.setState(State.SPLIT);<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>    final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>    nodeA.setState(State.SPLITTING_NEW);<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>    final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>    nodeB.setState(State.SPLITTING_NEW);<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span><a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>    regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>    if (shouldAssignFavoredNodes(parent)) {<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>      List&lt;ServerName&gt; onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>          generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>    }<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>  }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span><a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>  /**<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>   * When called here, the merge has happened. The two merged regions have been<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>   * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>   * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>   * merged regions are removed from hbase:meta below&gt; Later they are deleted from the filesystem<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>   * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>   * longer holds references to the old regions.<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>   */<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>  public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>    node.setState(State.MERGED);<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    regionStates.deleteRegion(mother);<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    regionStates.deleteRegion(father);<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>    regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>    if (shouldAssignFavoredNodes(child)) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>    }<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>  }<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span><a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>  /*<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>   * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>   * belongs to a non-system table.<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>   */<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>  private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>    return this.shouldAssignRegionsWithFavoredNodes &amp;&amp;<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>        FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>  }<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span><a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>  // ============================================================================================<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>  //  Assign Queue (Assign/Balance)<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>  // ============================================================================================<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>  private final ArrayList&lt;RegionStateNode&gt; pendingAssignQueue = new ArrayList&lt;RegionStateNode&gt;();<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span>  private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span><a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>  /**<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   * Add the assign operation to the assignment queue.<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>   * The pending assignment operation will be processed,<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>   * and each region will be assigned by a server using the balancer.<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   */<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    regionNode.getProcedureEvent().suspend();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span><a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>    // TODO: quick-start for meta and the other sys-tables?<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>    assignQueueLock.lock();<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>    try {<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>      pendingAssignQueue.add(regionNode);<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      if (regionNode.isSystemTable() ||<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>          pendingAssignQueue.size() == 1 ||<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>          pendingAssignQueue.size() &gt;= assignDispatchWaitQueueMaxSize) {<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>        assignQueueFullCond.signal();<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>      }<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    } finally {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>      assignQueueLock.unlock();<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>    }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>  }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span><a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>  private void startAssignmentThread() {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>    // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>    // For example, in tests.<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>    String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>        master.getServerName().toShortString();<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>    assignThread = new Thread(name) {<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>      @Override<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>      public void run() {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        while (isRunning()) {<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>          processAssignQueue();<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>        }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>        pendingAssignQueue.clear();<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>      }<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>    };<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>    assignThread.setDaemon(true);<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>    assignThread.start();<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>  }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span><a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>  private void stopAssignmentThread() {<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>    assignQueueSignal();<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>    try {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>      while (assignThread.isAlive()) {<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>        assignQueueSignal();<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>        assignThread.join(250);<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>      }<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>    } catch (InterruptedException e) {<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>      LOG.warn("join interrupted", e);<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>      Thread.currentThread().interrupt();<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>    }<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>  }<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span><a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>  private void assignQueueSignal() {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    assignQueueLock.lock();<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    try {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>      assignQueueFullCond.signal();<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>    } finally {<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>      assignQueueLock.unlock();<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>    }<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>  }<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span><a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>  private HashMap&lt;RegionInfo, RegionStateNode&gt; waitOnAssignQueue() {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>    HashMap&lt;RegionInfo, RegionStateNode&gt; regions = null;<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span><a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>    assignQueueLock.lock();<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>    try {<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>      if (pendingAssignQueue.isEmpty() &amp;&amp; isRunning()) {<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>        assignQueueFullCond.await();<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>      }<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span><a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>      if (!isRunning()) return null;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>      assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>      regions = new HashMap&lt;RegionInfo, RegionStateNode&gt;(pendingAssignQueue.size());<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>      for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>        regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>      }<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>      pendingAssignQueue.clear();<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    } catch (InterruptedException e) {<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>      LOG.warn("got interrupted ", e);<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span>      Thread.currentThread().interrupt();<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>    } finally {<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>      assignQueueLock.unlock();<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>    }<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>    return regions;<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>  }<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span><a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>  private void processAssignQueue() {<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>    final HashMap&lt;RegionInfo, RegionStateNode&gt; regions = waitOnAssignQueue();<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>    if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>      return;<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>    }<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span><a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>    if (LOG.isTraceEnabled()) {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>      LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>    }<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span><a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>    // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>    final HashMap&lt;RegionInfo, ServerName&gt; retainMap = new HashMap&lt;&gt;();<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    final List&lt;RegionInfo&gt; userHRIs = new ArrayList&lt;&gt;(regions.size());<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>    // Regions for system tables requiring reassignment<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    final List&lt;RegionInfo&gt; systemHRIs = new ArrayList&lt;&gt;();<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>    for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>      boolean sysTable = regionStateNode.isSystemTable();<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      final List&lt;RegionInfo&gt; hris = sysTable? systemHRIs: userHRIs;<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>      if (regionStateNode.getRegionLocation() != null) {<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>        retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>      } else {<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>        hris.add(regionStateNode.getRegionInfo());<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>      }<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    }<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span><a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>    // TODO: connect with the listener to invalidate the cache<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span><a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>    // TODO use events<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>    List&lt;ServerName&gt; servers = master.getServerManager().createDestinationServersList();<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    for (int i = 0; servers.size() &lt; 1; ++i) {<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span>      // Report every fourth time around this loop; try not to flood log.<a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>      if (i % 4 == 0) {<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>        LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>      }<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span><a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>      if (!isRunning()) {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>        LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>        return;<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>      }<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>      Threads.sleep(250);<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>      servers = master.getServerManager().createDestinationServersList();<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span>    }<a name="line.1760"></a>
-<span class="sourceLineNo">1761</span><a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>    if (!systemHRIs.isEmpty()) {<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>      // System table regions requiring reassignment are present, get region servers<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      // not available for system table regions<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span>      final List&lt;ServerName&gt; excludeServers = getExcludedServersForSystemTable();<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>      List&lt;ServerName&gt; serversForSysTables = servers.stream()<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>          .filter(s -&gt; !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>      if (serversForSysTables.isEmpty()) {<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>        LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>            "instead considering all candidate servers!");<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>      }<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>          ", allServersCount=" + servers.size());<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>      processAssignmentPlans(regions, null, systemHRIs,<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>          serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    }<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span><a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>  }<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span><a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>  private void processAssignmentPlans(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>      final HashMap&lt;RegionInfo, ServerName&gt; retainMap, final List&lt;RegionInfo&gt; hris,<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>      final List&lt;ServerName&gt; servers) {<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>    boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    if (isTraceEnabled) {<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    }<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span><a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>    final LoadBalancer balancer = getBalancer();<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>    // ask the balancer where to place regions<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span>    if (retainMap != null &amp;&amp; !retainMap.isEmpty()) {<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>      if (isTraceEnabled) {<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>        LOG.trace("retain assign regions=" + retainMap);<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>      }<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>      try {<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>        acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>      } catch (HBaseIOException e) {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>        LOG.warn("unable to retain assignment", e);<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>        addToPendingAssignment(regions, retainMap.keySet());<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>      }<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span>    }<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span><a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>    // TODO: Do we need to split retain and round-robin?<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>    // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>    if (!hris.isEmpty()) {<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>      Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>      if (isTraceEnabled) {<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>        LOG.trace("round robin regions=" + hris);<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span>      }<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>      try {<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>        acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>      } catch (HBaseIOException e) {<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>        LOG.warn("unable to round-robin assignment", e);<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>        addToPendingAssignment(regions, hris);<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      }<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>    }<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>  }<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span><a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>  private void acceptPlan(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>      final Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; plan) throws HBaseIOException {<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>    final ProcedureEvent[] events = new ProcedureEvent[regions.size()];<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>    final long st = System.currentTimeMillis();<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span><a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>    if (plan == null) {<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>      throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>    }<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span><a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>    if (plan.isEmpty()) return;<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span><a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>    int evcount = 0;<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>    for (Map.Entry&lt;ServerName, List&lt;RegionInfo&gt;&gt; entry: plan.entrySet()) {<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>      final ServerName server = entry.getKey();<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>      for (RegionInfo hri: entry.getValue()) {<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>        final RegionStateNode regionNode = regions.get(hri);<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>        regionNode.setRegionLocation(server);<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>        events[evcount++] = regionNode.getProcedureEvent();<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>      }<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>    }<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>    ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span><a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    final long et = System.currentTimeMillis();<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>    if (LOG.isTraceEnabled()) {<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>      LOG.trace("ASSIGN ACCEPT " + events.length + " -&gt; " +<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>          StringUtils.humanTimeDiff(et - st));<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    }<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span><a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>  private void addToPendingAssignment(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>      final Collection&lt;RegionInfo&gt; pendingRegions) {<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>    assignQueueLock.lock();<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>    try {<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>      for (RegionInfo hri: pendingRegions) {<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>        pendingAssignQueue.add(regions.get(hri));<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      }<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    } finally {<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>      assignQueueLock.unlock();<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>    }<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>  }<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span><a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>  /**<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>   * Get a list of servers that this region cannot be assigned to.<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>   * For system tables, we must assign them to a server with highest version.<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>   */<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>  public List&lt;ServerName&gt; getExcludedServersForSystemTable() {<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>    // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>    // RegionServerInfo that includes Version.<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    List&lt;Pair&lt;ServerName, String&gt;&gt; serverList = master.getServerManager().getOnlineServersList()<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>        .stream()<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>        .map((s)-&gt;new Pair&lt;&gt;(s, master.getRegionServerVersion(s)))<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span>        .collect(Collectors.toList());<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>    if (serverList.isEmpty()) {<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span>      return Collections.EMPTY_LIST;<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>    }<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>    String highestVersion = Collections.max(serverList,<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>        (o1, o2) -&gt; VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    return serverList.stream()<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>        .filter((p)-&gt;!p.getSecond().equals(highestVersion))<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>        .map(Pair::getFirst)<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>        .collect(Collectors.toList());<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>  }<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span><a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>  // ============================================================================================<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>  //  Server Helpers<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>  // ============================================================================================<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>  @Override<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>  public void serverAdded(final ServerName serverName) {<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>  }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span><a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>  @Override<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>  public void serverRemoved(final ServerName serverName) {<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>    if (serverNode == null) return;<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span><a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>    // just in case, wake procedures waiting for this server report<a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>    wakeServerReportEvent(serverNode);<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>  }<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span><a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  public int getServerVersion(final ServerName serverName) {<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    final ServerStateNode node = regionStates.getServerNode(serverName);<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>    return node != null ? node.getVersionNumber() : 0;<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>  }<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span><a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  public void killRegionServer(final ServerName serverName) {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>    killRegionServer(serverNode);<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>  }<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span><a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>  public void killRegionServer(final ServerStateNode serverNode) {<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    /** Don't do this. Messes up accounting. Let ServerCrashProcedure do this.<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>    for (RegionStateNode regionNode: serverNode.getRegions()) {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>      regionNode.offline();<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>    }*/<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>    master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>  }<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span><a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>  /**<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>   * Handle RIT of meta region against crashed server.<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>   * Only used when ServerCrashProcedure is not enabled.<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>   * See handleRIT in ServerCrashProcedure for similar function.<a name="line.1920"></a>
-<span class="sourceLineNo">1921</span>   *<a name="line.1921"></a>
-<span class="sourceLineNo">1922</span>   * @param serverName Server that has already crashed<a name="line.1922"></a>
-<span class="sourceLineNo">1923</span>   */<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span>  public void handleMetaRITOnCrashedServer(ServerName serverName) {<a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>    RegionInfo hri = RegionReplicaUtil<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>    if (regionStateNode == null) {<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>      return;<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>    }<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>      return;<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>    } else if (rsnServerName == null) {<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1937"></a>
-<span class="sourceLineNo">1938</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1938"></a>
-<span class="sourceLineNo">1939</span>    }<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    // meta has been assigned to crashed server.<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>    // Handle failure and wake event<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    }<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>  }<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>}<a name="line.1952"></a>
+<span class="sourceLineNo">1572</span>      final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span>    // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>    // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>    // Update its state in regionStates to it shows as offline and split when read<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>    // later figuring what regions are in a table and what are not: see<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>    // regionStates#getRegionsOfTable<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>    node.setState(State.SPLIT);<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>    final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>    nodeA.setState(State.SPLITTING_NEW);<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>    final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>    nodeB.setState(State.SPLITTING_NEW);<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span><a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>    regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>    if (shouldAssignFavoredNodes(parent)) {<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>      List&lt;ServerName&gt; onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>          generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>    }<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>  }<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span><a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>  /**<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>   * When called here, the merge has happened. The two merged regions have been<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>   * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>   * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>   * merged regions are removed from hbase:meta below&gt; Later they are deleted from the filesystem<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>   * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>   * longer holds references to the old regions.<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>   */<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>  public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>      final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>    node.setState(State.MERGED);<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>    regionStates.deleteRegion(mother);<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>    regionStates.deleteRegion(father);<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>    regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>    if (shouldAssignFavoredNodes(child)) {<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>        generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>    }<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>  }<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span><a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>  /*<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>   * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>   * belongs to a non-system table.<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>   */<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>  private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>    return this.shouldAssignRegionsWithFavoredNodes &amp;&amp;<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>        FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>  }<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span><a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>  // ============================================================================================<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>  //  Assign Queue (Assign/Balance)<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span>  // ============================================================================================<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>  private final ArrayList&lt;RegionStateNode&gt; pendingAssignQueue = new ArrayList&lt;RegionStateNode&gt;();<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>  private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>  private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span><a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>  /**<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>   * Add the assign operation to the assignment queue.<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>   * The pending assignment operation will be processed,<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>   * and each region will be assigned by a server using the balancer.<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>   */<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>  protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    regionNode.getProcedureEvent().suspend();<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span><a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>    // TODO: quick-start for meta and the other sys-tables?<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>    assignQueueLock.lock();<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>    try {<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>      pendingAssignQueue.add(regionNode);<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      if (regionNode.isSystemTable() ||<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>          pendingAssignQueue.size() == 1 ||<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>          pendingAssignQueue.size() &gt;= assignDispatchWaitQueueMaxSize) {<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>        assignQueueFullCond.signal();<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>      }<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>    } finally {<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      assignQueueLock.unlock();<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>    }<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>  }<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span><a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>  private void startAssignmentThread() {<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>    // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    // For example, in tests.<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>    String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>        master.getServerName().toShortString();<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>    assignThread = new Thread(name) {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>      @Override<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>      public void run() {<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        while (isRunning()) {<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>          processAssignQueue();<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>        }<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>        pendingAssignQueue.clear();<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span>      }<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>    };<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>    assignThread.setDaemon(true);<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>    assignThread.start();<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>  }<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span><a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>  private void stopAssignmentThread() {<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>    assignQueueSignal();<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>    try {<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>      while (assignThread.isAlive()) {<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>        assignQueueSignal();<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>        assignThread.join(250);<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>      }<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span>    } catch (InterruptedException e) {<a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>      LOG.warn("join interrupted", e);<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>      Thread.currentThread().interrupt();<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>    }<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>  }<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span><a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>  private void assignQueueSignal() {<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>    assignQueueLock.lock();<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>    try {<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>      assignQueueFullCond.signal();<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>    } finally {<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span>      assignQueueLock.unlock();<a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>    }<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>  }<a name="line.1690"></a>
+<span class="sourceLineNo">1691</span><a name="line.1691"></a>
+<span class="sourceLineNo">1692</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1692"></a>
+<span class="sourceLineNo">1693</span>  private HashMap&lt;RegionInfo, RegionStateNode&gt; waitOnAssignQueue() {<a name="line.1693"></a>
+<span class="sourceLineNo">1694</span>    HashMap&lt;RegionInfo, RegionStateNode&gt; regions = null;<a name="line.1694"></a>
+<span class="sourceLineNo">1695</span><a name="line.1695"></a>
+<span class="sourceLineNo">1696</span>    assignQueueLock.lock();<a name="line.1696"></a>
+<span class="sourceLineNo">1697</span>    try {<a name="line.1697"></a>
+<span class="sourceLineNo">1698</span>      if (pendingAssignQueue.isEmpty() &amp;&amp; isRunning()) {<a name="line.1698"></a>
+<span class="sourceLineNo">1699</span>        assignQueueFullCond.await();<a name="line.1699"></a>
+<span class="sourceLineNo">1700</span>      }<a name="line.1700"></a>
+<span class="sourceLineNo">1701</span><a name="line.1701"></a>
+<span class="sourceLineNo">1702</span>      if (!isRunning()) return null;<a name="line.1702"></a>
+<span class="sourceLineNo">1703</span>      assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1703"></a>
+<span class="sourceLineNo">1704</span>      regions = new HashMap&lt;RegionInfo, RegionStateNode&gt;(pendingAssignQueue.size());<a name="line.1704"></a>
+<span class="sourceLineNo">1705</span>      for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1705"></a>
+<span class="sourceLineNo">1706</span>        regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1706"></a>
+<span class="sourceLineNo">1707</span>      }<a name="line.1707"></a>
+<span class="sourceLineNo">1708</span>      pendingAssignQueue.clear();<a name="line.1708"></a>
+<span class="sourceLineNo">1709</span>    } catch (InterruptedException e) {<a name="line.1709"></a>
+<span class="sourceLineNo">1710</span>      LOG.warn("got interrupted ", e);<a name="line.1710"></a>
+<span class="sourceLineNo">1711</span>      Thread.currentThread().interrupt();<a name="line.1711"></a>
+<span class="sourceLineNo">1712</span>    } finally {<a name="line.1712"></a>
+<span class="sourceLineNo">1713</span>      assignQueueLock.unlock();<a name="line.1713"></a>
+<span class="sourceLineNo">1714</span>    }<a name="line.1714"></a>
+<span class="sourceLineNo">1715</span>    return regions;<a name="line.1715"></a>
+<span class="sourceLineNo">1716</span>  }<a name="line.1716"></a>
+<span class="sourceLineNo">1717</span><a name="line.1717"></a>
+<span class="sourceLineNo">1718</span>  private void processAssignQueue() {<a name="line.1718"></a>
+<span class="sourceLineNo">1719</span>    final HashMap&lt;RegionInfo, RegionStateNode&gt; regions = waitOnAssignQueue();<a name="line.1719"></a>
+<span class="sourceLineNo">1720</span>    if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1720"></a>
+<span class="sourceLineNo">1721</span>      return;<a name="line.1721"></a>
+<span class="sourceLineNo">1722</span>    }<a name="line.1722"></a>
+<span class="sourceLineNo">1723</span><a name="line.1723"></a>
+<span class="sourceLineNo">1724</span>    if (LOG.isTraceEnabled()) {<a name="line.1724"></a>
+<span class="sourceLineNo">1725</span>      LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1725"></a>
+<span class="sourceLineNo">1726</span>    }<a name="line.1726"></a>
+<span class="sourceLineNo">1727</span><a name="line.1727"></a>
+<span class="sourceLineNo">1728</span>    // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1728"></a>
+<span class="sourceLineNo">1729</span>    final HashMap&lt;RegionInfo, ServerName&gt; retainMap = new HashMap&lt;&gt;();<a name="line.1729"></a>
+<span class="sourceLineNo">1730</span>    final List&lt;RegionInfo&gt; userHRIs = new ArrayList&lt;&gt;(regions.size());<a name="line.1730"></a>
+<span class="sourceLineNo">1731</span>    // Regions for system tables requiring reassignment<a name="line.1731"></a>
+<span class="sourceLineNo">1732</span>    final List&lt;RegionInfo&gt; systemHRIs = new ArrayList&lt;&gt;();<a name="line.1732"></a>
+<span class="sourceLineNo">1733</span>    for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1733"></a>
+<span class="sourceLineNo">1734</span>      boolean sysTable = regionStateNode.isSystemTable();<a name="line.1734"></a>
+<span class="sourceLineNo">1735</span>      final List&lt;RegionInfo&gt; hris = sysTable? systemHRIs: userHRIs;<a name="line.1735"></a>
+<span class="sourceLineNo">1736</span>      if (regionStateNode.getRegionLocation() != null) {<a name="line.1736"></a>
+<span class="sourceLineNo">1737</span>        retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1737"></a>
+<span class="sourceLineNo">1738</span>      } else {<a name="line.1738"></a>
+<span class="sourceLineNo">1739</span>        hris.add(regionStateNode.getRegionInfo());<a name="line.1739"></a>
+<span class="sourceLineNo">1740</span>      }<a name="line.1740"></a>
+<span class="sourceLineNo">1741</span>    }<a name="line.1741"></a>
+<span class="sourceLineNo">1742</span><a name="line.1742"></a>
+<span class="sourceLineNo">1743</span>    // TODO: connect with the listener to invalidate the cache<a name="line.1743"></a>
+<span class="sourceLineNo">1744</span><a name="line.1744"></a>
+<span class="sourceLineNo">1745</span>    // TODO use events<a name="line.1745"></a>
+<span class="sourceLineNo">1746</span>    List&lt;ServerName&gt; servers = master.getServerManager().createDestinationServersList();<a name="line.1746"></a>
+<span class="sourceLineNo">1747</span>    for (int i = 0; servers.size() &lt; 1; ++i) {<a name="line.1747"></a>
+<span class="sourceLineNo">1748</span>      // Report every fourth time around this loop; try not to flood log.<a name="line.1748"></a>
+<span class="sourceLineNo">1749</span>      if (i % 4 == 0) {<a name="line.1749"></a>
+<span class="sourceLineNo">1750</span>        LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1750"></a>
+<span class="sourceLineNo">1751</span>      }<a name="line.1751"></a>
+<span class="sourceLineNo">1752</span><a name="line.1752"></a>
+<span class="sourceLineNo">1753</span>      if (!isRunning()) {<a name="line.1753"></a>
+<span class="sourceLineNo">1754</span>        LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1754"></a>
+<span class="sourceLineNo">1755</span>        return;<a name="line.1755"></a>
+<span class="sourceLineNo">1756</span>      }<a name="line.1756"></a>
+<span class="sourceLineNo">1757</span>      Threads.sleep(250);<a name="line.1757"></a>
+<span class="sourceLineNo">1758</span>      servers = master.getServerManager().createDestinationServersList();<a name="line.1758"></a>
+<span class="sourceLineNo">1759</span>    }<a name="line.1759"></a>
+<span class="sourceLineNo">1760</span><a name="line.1760"></a>
+<span class="sourceLineNo">1761</span>    if (!systemHRIs.isEmpty()) {<a name="line.1761"></a>
+<span class="sourceLineNo">1762</span>      // System table regions requiring reassignment are present, get region servers<a name="line.1762"></a>
+<span class="sourceLineNo">1763</span>      // not available for system table regions<a name="line.1763"></a>
+<span class="sourceLineNo">1764</span>      final List&lt;ServerName&gt; excludeServers = getExcludedServersForSystemTable();<a name="line.1764"></a>
+<span class="sourceLineNo">1765</span>      List&lt;ServerName&gt; serversForSysTables = servers.stream()<a name="line.1765"></a>
+<span class="sourceLineNo">1766</span>          .filter(s -&gt; !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1766"></a>
+<span class="sourceLineNo">1767</span>      if (serversForSysTables.isEmpty()) {<a name="line.1767"></a>
+<span class="sourceLineNo">1768</span>        LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1768"></a>
+<span class="sourceLineNo">1769</span>            "instead considering all candidate servers!");<a name="line.1769"></a>
+<span class="sourceLineNo">1770</span>      }<a name="line.1770"></a>
+<span class="sourceLineNo">1771</span>      LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1771"></a>
+<span class="sourceLineNo">1772</span>          ", allServersCount=" + servers.size());<a name="line.1772"></a>
+<span class="sourceLineNo">1773</span>      processAssignmentPlans(regions, null, systemHRIs,<a name="line.1773"></a>
+<span class="sourceLineNo">1774</span>          serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1774"></a>
+<span class="sourceLineNo">1775</span>    }<a name="line.1775"></a>
+<span class="sourceLineNo">1776</span><a name="line.1776"></a>
+<span class="sourceLineNo">1777</span>    processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1777"></a>
+<span class="sourceLineNo">1778</span>  }<a name="line.1778"></a>
+<span class="sourceLineNo">1779</span><a name="line.1779"></a>
+<span class="sourceLineNo">1780</span>  private void processAssignmentPlans(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1780"></a>
+<span class="sourceLineNo">1781</span>      final HashMap&lt;RegionInfo, ServerName&gt; retainMap, final List&lt;RegionInfo&gt; hris,<a name="line.1781"></a>
+<span class="sourceLineNo">1782</span>      final List&lt;ServerName&gt; servers) {<a name="line.1782"></a>
+<span class="sourceLineNo">1783</span>    boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1783"></a>
+<span class="sourceLineNo">1784</span>    if (isTraceEnabled) {<a name="line.1784"></a>
+<span class="sourceLineNo">1785</span>      LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1785"></a>
+<span class="sourceLineNo">1786</span>    }<a name="line.1786"></a>
+<span class="sourceLineNo">1787</span><a name="line.1787"></a>
+<span class="sourceLineNo">1788</span>    final LoadBalancer balancer = getBalancer();<a name="line.1788"></a>
+<span class="sourceLineNo">1789</span>    // ask the balancer where to place regions<a name="line.1789"></a>
+<span class="sourceLineNo">1790</span>    if (retainMap != null &amp;&amp; !retainMap.isEmpty()) {<a name="line.1790"></a>
+<span class="sourceLineNo">1791</span>      if (isTraceEnabled) {<a name="line.1791"></a>
+<span class="sourceLineNo">1792</span>        LOG.trace("retain assign regions=" + retainMap);<a name="line.1792"></a>
+<span class="sourceLineNo">1793</span>      }<a name="line.1793"></a>
+<span class="sourceLineNo">1794</span>      try {<a name="line.1794"></a>
+<span class="sourceLineNo">1795</span>        acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1795"></a>
+<span class="sourceLineNo">1796</span>      } catch (HBaseIOException e) {<a name="line.1796"></a>
+<span class="sourceLineNo">1797</span>        LOG.warn("unable to retain assignment", e);<a name="line.1797"></a>
+<span class="sourceLineNo">1798</span>        addToPendingAssignment(regions, retainMap.keySet());<a name="line.1798"></a>
+<span class="sourceLineNo">1799</span>      }<a name="line.1799"></a>
+<span class="sourceLineNo">1800</span>    }<a name="line.1800"></a>
+<span class="sourceLineNo">1801</span><a name="line.1801"></a>
+<span class="sourceLineNo">1802</span>    // TODO: Do we need to split retain and round-robin?<a name="line.1802"></a>
+<span class="sourceLineNo">1803</span>    // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1803"></a>
+<span class="sourceLineNo">1804</span>    if (!hris.isEmpty()) {<a name="line.1804"></a>
+<span class="sourceLineNo">1805</span>      Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1805"></a>
+<span class="sourceLineNo">1806</span>      if (isTraceEnabled) {<a name="line.1806"></a>
+<span class="sourceLineNo">1807</span>        LOG.trace("round robin regions=" + hris);<a name="line.1807"></a>
+<span class="sourceLineNo">1808</span>      }<a name="line.1808"></a>
+<span class="sourceLineNo">1809</span>      try {<a name="line.1809"></a>
+<span class="sourceLineNo">1810</span>        acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1810"></a>
+<span class="sourceLineNo">1811</span>      } catch (HBaseIOException e) {<a name="line.1811"></a>
+<span class="sourceLineNo">1812</span>        LOG.warn("unable to round-robin assignment", e);<a name="line.1812"></a>
+<span class="sourceLineNo">1813</span>        addToPendingAssignment(regions, hris);<a name="line.1813"></a>
+<span class="sourceLineNo">1814</span>      }<a name="line.1814"></a>
+<span class="sourceLineNo">1815</span>    }<a name="line.1815"></a>
+<span class="sourceLineNo">1816</span>  }<a name="line.1816"></a>
+<span class="sourceLineNo">1817</span><a name="line.1817"></a>
+<span class="sourceLineNo">1818</span>  private void acceptPlan(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1818"></a>
+<span class="sourceLineNo">1819</span>      final Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; plan) throws HBaseIOException {<a name="line.1819"></a>
+<span class="sourceLineNo">1820</span>    final ProcedureEvent[] events = new ProcedureEvent[regions.size()];<a name="line.1820"></a>
+<span class="sourceLineNo">1821</span>    final long st = System.currentTimeMillis();<a name="line.1821"></a>
+<span class="sourceLineNo">1822</span><a name="line.1822"></a>
+<span class="sourceLineNo">1823</span>    if (plan == null) {<a name="line.1823"></a>
+<span class="sourceLineNo">1824</span>      throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1824"></a>
+<span class="sourceLineNo">1825</span>    }<a name="line.1825"></a>
+<span class="sourceLineNo">1826</span><a name="line.1826"></a>
+<span class="sourceLineNo">1827</span>    if (plan.isEmpty()) return;<a name="line.1827"></a>
+<span class="sourceLineNo">1828</span><a name="line.1828"></a>
+<span class="sourceLineNo">1829</span>    int evcount = 0;<a name="line.1829"></a>
+<span class="sourceLineNo">1830</span>    for (Map.Entry&lt;ServerName, List&lt;RegionInfo&gt;&gt; entry: plan.entrySet()) {<a name="line.1830"></a>
+<span class="sourceLineNo">1831</span>      final ServerName server = entry.getKey();<a name="line.1831"></a>
+<span class="sourceLineNo">1832</span>      for (RegionInfo hri: entry.getValue()) {<a name="line.1832"></a>
+<span class="sourceLineNo">1833</span>        final RegionStateNode regionNode = regions.get(hri);<a name="line.1833"></a>
+<span class="sourceLineNo">1834</span>        regionNode.setRegionLocation(server);<a name="line.1834"></a>
+<span class="sourceLineNo">1835</span>        events[evcount++] = regionNode.getProcedureEvent();<a name="line.1835"></a>
+<span class="sourceLineNo">1836</span>      }<a name="line.1836"></a>
+<span class="sourceLineNo">1837</span>    }<a name="line.1837"></a>
+<span class="sourceLineNo">1838</span>    ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1838"></a>
+<span class="sourceLineNo">1839</span><a name="line.1839"></a>
+<span class="sourceLineNo">1840</span>    final long et = System.currentTimeMillis();<a name="line.1840"></a>
+<span class="sourceLineNo">1841</span>    if (LOG.isTraceEnabled()) {<a name="line.1841"></a>
+<span class="sourceLineNo">1842</span>      LOG.trace("ASSIGN ACCEPT " + events.length + " -&gt; " +<a name="line.1842"></a>
+<span class="sourceLineNo">1843</span>          StringUtils.humanTimeDiff(et - st));<a name="line.1843"></a>
+<span class="sourceLineNo">1844</span>    }<a name="line.1844"></a>
+<span class="sourceLineNo">1845</span>  }<a name="line.1845"></a>
+<span class="sourceLineNo">1846</span><a name="line.1846"></a>
+<span class="sourceLineNo">1847</span>  private void addToPendingAssignment(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1847"></a>
+<span class="sourceLineNo">1848</span>      final Collection&lt;RegionInfo&gt; pendingRegions) {<a name="line.1848"></a>
+<span class="sourceLineNo">1849</span>    assignQueueLock.lock();<a name="line.1849"></a>
+<span class="sourceLineNo">1850</span>    try {<a name="line.1850"></a>
+<span class="sourceLineNo">1851</span>      for (RegionInfo hri: pendingRegions) {<a name="line.1851"></a>
+<span class="sourceLineNo">1852</span>        pendingAssignQueue.add(regions.get(hri));<a name="line.1852"></a>
+<span class="sourceLineNo">1853</span>      }<a name="line.1853"></a>
+<span class="sourceLineNo">1854</span>    } finally {<a name="line.1854"></a>
+<span class="sourceLineNo">1855</span>      assignQueueLock.unlock();<a name="line.1855"></a>
+<span class="sourceLineNo">1856</span>    }<a name="line.1856"></a>
+<span class="sourceLineNo">1857</span>  }<a name="line.1857"></a>
+<span class="sourceLineNo">1858</span><a name="line.1858"></a>
+<span class="sourceLineNo">1859</span>  /**<a name="line.1859"></a>
+<span class="sourceLineNo">1860</span>   * Get a list of servers that this region cannot be assigned to.<a name="line.1860"></a>
+<span class="sourceLineNo">1861</span>   * For system tables, we must assign them to a server with highest version.<a name="line.1861"></a>
+<span class="sourceLineNo">1862</span>   */<a name="line.1862"></a>
+<span class="sourceLineNo">1863</span>  public List&lt;ServerName&gt; getExcludedServersForSystemTable() {<a name="line.1863"></a>
+<span class="sourceLineNo">1864</span>    // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1864"></a>
+<span class="sourceLineNo">1865</span>    // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1865"></a>
+<span class="sourceLineNo">1866</span>    // RegionServerInfo that includes Version.<a name="line.1866"></a>
+<span class="sourceLineNo">1867</span>    List&lt;Pair&lt;ServerName, String&gt;&gt; serverList = master.getServerManager().getOnlineServersList()<a name="line.1867"></a>
+<span class="sourceLineNo">1868</span>        .stream()<a name="line.1868"></a>
+<span class="sourceLineNo">1869</span>        .map((s)-&gt;new Pair&lt;&gt;(s, master.getRegionServerVersion(s)))<a name="line.1869"></a>
+<span class="sourceLineNo">1870</span>        .collect(Collectors.toList());<a name="line.1870"></a>
+<span class="sourceLineNo">1871</span>    if (serverList.isEmpty()) {<a name="line.1871"></a>
+<span class="sourceLineNo">1872</span>      return Collections.EMPTY_LIST;<a name="line.1872"></a>
+<span class="sourceLineNo">1873</span>    }<a name="line.1873"></a>
+<span class="sourceLineNo">1874</span>    String highestVersion = Collections.max(serverList,<a name="line.1874"></a>
+<span class="sourceLineNo">1875</span>        (o1, o2) -&gt; VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1875"></a>
+<span class="sourceLineNo">1876</span>    return serverList.stream()<a name="line.1876"></a>
+<span class="sourceLineNo">1877</span>        .filter((p)-&gt;!p.getSecond().equals(highestVersion))<a name="line.1877"></a>
+<span class="sourceLineNo">1878</span>        .map(Pair::getFirst)<a name="line.1878"></a>
+<span class="sourceLineNo">1879</span>        .collect(Collectors.toList());<a name="line.1879"></a>
+<span class="sourceLineNo">1880</span>  }<a name="line.1880"></a>
+<span class="sourceLineNo">1881</span><a name="line.1881"></a>
+<span class="sourceLineNo">1882</span>  // ============================================================================================<a name="line.1882"></a>
+<span class="sourceLineNo">1883</span>  //  Server Helpers<a name="line.1883"></a>
+<span class="sourceLineNo">1884</span>  // ============================================================================================<a name="line.1884"></a>
+<span class="sourceLineNo">1885</span>  @Override<a name="line.1885"></a>
+<span class="sourceLineNo">1886</span>  public void serverAdded(final ServerName serverName) {<a name="line.1886"></a>
+<span class="sourceLineNo">1887</span>  }<a name="line.1887"></a>
+<span class="sourceLineNo">1888</span><a name="line.1888"></a>
+<span class="sourceLineNo">1889</span>  @Override<a name="line.1889"></a>
+<span class="sourceLineNo">1890</span>  public void serverRemoved(final ServerName serverName) {<a name="line.1890"></a>
+<span class="sourceLineNo">1891</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1891"></a>
+<span class="sourceLineNo">1892</span>    if (serverNode == null) return;<a name="line.1892"></a>
+<span class="sourceLineNo">1893</span><a name="line.1893"></a>
+<span class="sourceLineNo">1894</span>    // just in case, wake procedures waiting for this server report<a name="line.1894"></a>
+<span class="sourceLineNo">1895</span>    wakeServerReportEvent(serverNode);<a name="line.1895"></a>
+<span class="sourceLineNo">1896</span>  }<a name="line.1896"></a>
+<span class="sourceLineNo">1897</span><a name="line.1897"></a>
+<span class="sourceLineNo">1898</span>  public int getServerVersion(final ServerName serverName) {<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>    final ServerStateNode node = regionStates.getServerNode(serverName);<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>    return node != null ? node.getVersionNumber() : 0;<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>  }<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span><a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>  public void killRegionServer(final ServerName serverName) {<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>    killRegionServer(serverNode);<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span><a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>  public void killRegionServer(final ServerStateNode serverNode) {<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>    /** Don't do this. Messes up accounting. Let ServerCrashProcedure do this.<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>    for (RegionStateNode regionNode: serverNode.getRegions()) {<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>      regionNode.offline();<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>    }*/<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>    master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>  }<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span><a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>  /**<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>   * Handle RIT of meta region against crashed server.<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>   * Only used when ServerCrashProcedure is not enabled.<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>   * See handleRIT in ServerCrashProcedure for similar function.<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>   *<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>   * @param serverName Server that has already crashed<a name="line.1921"></a>
+<span class="sourceLineNo">1922</span>   */<a name="line.1922"></a>
+<span class="sourceLineNo">1923</span>  public void handleMetaRITOnCrashedServer(ServerName serverName) {<a name="line.1923"></a>
+<span class="sourceLineNo">1924</span>    RegionInfo hri = RegionReplicaUtil<a name="line.1924"></a>
+<span class="sourceLineNo">1925</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1925"></a>
+<span class="sourceLineNo">1926</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1926"></a>
+<span class="sourceLineNo">1927</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1927"></a>
+<span class="sourceLineNo">1928</span>    if (regionStateNode == null) {<a name="line.1928"></a>
+<span class="sourceLineNo">1929</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1929"></a>
+<span class="sourceLineNo">1930</span>      return;<a name="line.1930"></a>
+<span class="sourceLineNo">1931</span>    }<a name="line.1931"></a>
+<span class="sourceLineNo">1932</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1932"></a>
+<span class="sourceLineNo">1933</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1933"></a>
+<span class="sourceLineNo">1934</span>      return;<a name="line.1934"></a>
+<span class="sourceLineNo">1935</span>    } else if (rsnServerName == null) {<a name="line.1935"></a>
+<span class="sourceLineNo">1936</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1936"></a>
+<span class="sourceLineNo">1937</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1937"></a>
+<span class="sourceLineNo">1938</span>    }<a name="line.1938"></a>
+<span class="sourceLineNo">1939</span>    // meta has been assigned to crashed server.<a name="line.1939"></a>
+<span class="sourceLineNo">1940</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1940"></a>
+<span class="sourceLineNo">1941</span>    // Handle failure and wake event<a name="line.1941"></a>
+<span class="sourceLineNo">1942</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1942"></a>
+<span class="sourceLineNo">1943</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1943"></a>
+<span class="sourceLineNo">1944</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1944"></a>
+<span class="sourceLineNo">1945</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1945"></a>
+<span class="sourceLineNo">1946</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1946"></a>
+<span class="sourceLineNo">1947</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1947"></a>
+<span class="sourceLineNo">1948</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1948"></a>
+<span class="sourceLineNo">1949</span>    }<a name="line.1949"></a>
+<span class="sourceLineNo">1950</span>  }<a name="line.1950"></a>
+<span class="sourceLineNo">1951</span>}<a name="line.1951"></a>
 
 
 


[30/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html
index d5857c6..d9f30b8 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.66">HRegionFileSystem</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.65">HRegionFileSystem</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">View to an on-disk Region.
  Provides the set of methods necessary to interact with the on-disk region data.</div>
@@ -188,14 +188,18 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#regionDir">regionDir</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#regionInfo">regionInfo</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#regionInfoForFs">regionInfoForFs</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#tableDir">tableDir</a></span></code>&nbsp;</td>
 </tr>
@@ -657,7 +661,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.67">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.66">LOG</a></pre>
 </li>
 </ul>
 <a name="REGION_INFO_FILE">
@@ -666,7 +670,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_INFO_FILE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.70">REGION_INFO_FILE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.69">REGION_INFO_FILE</a></pre>
 <div class="block">Name of the region info file that resides just under the region directory.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -680,7 +684,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_MERGES_DIR</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.73">REGION_MERGES_DIR</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.72">REGION_MERGES_DIR</a></pre>
 <div class="block">Temporary subdirectory of the region directory used for merges.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -694,7 +698,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_SPLITS_DIR</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.76">REGION_SPLITS_DIR</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.75">REGION_SPLITS_DIR</a></pre>
 <div class="block">Temporary subdirectory of the region directory used for splits.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -708,7 +712,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_TEMP_DIR</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.79">REGION_TEMP_DIR</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.78">REGION_TEMP_DIR</a></pre>
 <div class="block">Temporary subdirectory of the region directory used for compaction output.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -722,7 +726,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>regionInfo</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.81">regionInfo</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.80">regionInfo</a></pre>
 </li>
 </ul>
 <a name="regionInfoForFs">
@@ -731,7 +735,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>regionInfoForFs</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.83">regionInfoForFs</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.82">regionInfoForFs</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -740,7 +744,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.84">conf</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.83">conf</a></pre>
 </li>
 </ul>
 <a name="tableDir">
@@ -749,7 +753,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tableDir</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.85">tableDir</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.84">tableDir</a></pre>
 </li>
 </ul>
 <a name="fs">
@@ -758,7 +762,16 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>fs</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.86">fs</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.85">fs</a></pre>
+</li>
+</ul>
+<a name="regionDir">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>regionDir</h4>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.86">regionDir</a></pre>
 </li>
 </ul>
 <a name="hdfsClientRetriesNumber">
@@ -849,7 +862,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getFileSystem</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.118">getFileSystem</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.119">getFileSystem</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the underlying <code>FileSystem</code></dd>
@@ -862,7 +875,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionInfo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.123">getRegionInfo</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.124">getRegionInfo</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client"><code>RegionInfo</code></a> that describe this on-disk region view</dd>
@@ -875,7 +888,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionInfoForFS</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.127">getRegionInfoForFS</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.128">getRegionInfoForFS</a>()</pre>
 </li>
 </ul>
 <a name="getTableDir--">
@@ -884,7 +897,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.132">getTableDir</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.133">getTableDir</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd><code>Path</code> to the region's root directory.</dd>
@@ -897,7 +910,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.137">getRegionDir</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.138">getRegionDir</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd><code>Path</code> to the region directory.</dd>
@@ -910,7 +923,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTempDir</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.145">getTempDir</a>()</pre>
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.146">getTempDir</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd><code>Path</code> to the region's temp directory, used for file creations</dd>
@@ -923,7 +936,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupTempDir</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.152">cleanupTempDir</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.153">cleanupTempDir</a>()
              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Clean up any temp detritus that may have been left around from previous operation attempts.</div>
 <dl>
@@ -938,7 +951,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.164">getStoreDir</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.165">getStoreDir</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)</pre>
 <div class="block">Returns the directory path of the specified family</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -954,7 +967,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createStoreDir</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.174">createStoreDir</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.175">createStoreDir</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create the store directory for the specified family name</div>
 <dl>
@@ -973,7 +986,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setStoragePolicy</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.192">setStoragePolicy</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.193">setStoragePolicy</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;policyName)</pre>
 <div class="block">Set the directory of CF to the specified storage policy. <br>
  <i>"LAZY_PERSIST"</i>, <i>"ALL_SSD"</i>, <i>"ONE_SSD"</i>, <i>"HOT"</i>, <i>"WARM"</i>,
@@ -996,7 +1009,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <li class="blockList">
 <h4>getStoragePolicyName</h4>
 <pre>@Nullable
-public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.203">getStoragePolicyName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)</pre>
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.204">getStoragePolicyName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)</pre>
 <div class="block">Get the storage policy of the directory of CF.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1013,7 +1026,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFiles</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.218">getStoreFiles</a>(byte[]&nbsp;familyName)
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.219">getStoreFiles</a>(byte[]&nbsp;familyName)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns the store files available for the family.
  This methods performs the filtering based on the valid store files.</div>
@@ -1033,7 +1046,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFiles</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.222">getStoreFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.223">getStoreFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1047,7 +1060,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFiles</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.232">getStoreFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.233">getStoreFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                                boolean&nbsp;validate)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns the store files available for the family.
@@ -1068,7 +1081,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFilesLocatedStatus</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.LocatedFileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.263">getStoreFilesLocatedStatus</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;regionfs,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.LocatedFileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.264">getStoreFilesLocatedStatus</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;regionfs,
                                                                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                                                                       boolean&nbsp;validate)
                                                                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1090,7 +1103,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFilePath</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.294">getStoreFilePath</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.295">getStoreFilePath</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileName)</pre>
 <div class="block">Return Qualified Path of the specified family/file</div>
 <dl>
@@ -1108,7 +1121,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFileInfo</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.306">getStoreFileInfo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.307">getStoreFileInfo</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileName)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return the store file information of the specified family/file.</div>
@@ -1129,7 +1142,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>hasReferences</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.319">hasReferences</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.320">hasReferences</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns true if the specified family has reference files</div>
 <dl>
@@ -1148,7 +1161,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>hasReferences</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.342">hasReferences</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.343">hasReferences</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check whether region has Reference file</div>
 <dl>
@@ -1167,7 +1180,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilies</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.355">getFamilies</a>()
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.356">getFamilies</a>()
                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1183,7 +1196,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.372">deleteFamily</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.373">deleteFamily</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Remove the region family from disk, archiving the store files.</div>
 <dl>
@@ -1200,7 +1213,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>generateUniqueName</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.389">generateUniqueName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;suffix)</pre>
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.390">generateUniqueName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;suffix)</pre>
 <div class="block">Generate a unique file name, used by createTempName() and commitStoreFile()</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1216,7 +1229,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>createTempName</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.406">createTempName</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.407">createTempName</a>()</pre>
 <div class="block">Generate a unique temporary Path. Used in conjuction with commitStoreFile()
  to get a safer file creation.
  <code>
@@ -1236,7 +1249,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>createTempName</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.422">createTempName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;suffix)</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.423">createTempName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;suffix)</pre>
 <div class="block">Generate a unique temporary Path. Used in conjuction with commitStoreFile()
  to get a safer file creation.
  <code>
@@ -1258,7 +1271,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>commitStoreFile</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.433">commitStoreFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.434">commitStoreFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                                  org.apache.hadoop.fs.Path&nbsp;buildPath)
                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Move the file from a build/temp location to the main family store directory.</div>
@@ -1279,7 +1292,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>preCommitStoreFile</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.448">preCommitStoreFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.449">preCommitStoreFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                                      org.apache.hadoop.fs.Path&nbsp;buildPath,
                                                      long&nbsp;seqNum,
                                                      boolean&nbsp;generateNewName)
@@ -1305,7 +1318,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>commitStoreFile</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.475">commitStoreFile</a>(org.apache.hadoop.fs.Path&nbsp;buildPath,
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.476">commitStoreFile</a>(org.apache.hadoop.fs.Path&nbsp;buildPath,
                                           org.apache.hadoop.fs.Path&nbsp;dstPath)
                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1320,7 +1333,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>removeStoreFile</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.489">removeStoreFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.490">removeStoreFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                             org.apache.hadoop.fs.Path&nbsp;filePath)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Archives the specified store file from the specified family.</div>
@@ -1339,7 +1352,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>removeStoreFiles</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.501">removeStoreFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.502">removeStoreFiles</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&nbsp;storeFiles)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Closes and archives the specified store files from the specified family.</div>
@@ -1358,7 +1371,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>bulkLoadStoreFile</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.518">bulkLoadStoreFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
+<pre><a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.519">bulkLoadStoreFile</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                                                             org.apache.hadoop.fs.Path&nbsp;srcPath,
                                                                             long&nbsp;seqNum)
                                                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1383,7 +1396,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitsDir</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.545">getSplitsDir</a>()</pre>
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.546">getSplitsDir</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd><code>Path</code> to the temp directory used during split operations</dd>
@@ -1396,7 +1409,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitsDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.549">getSplitsDir</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.550">getSplitsDir</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</pre>
 </li>
 </ul>
 <a name="cleanupSplitsDir--">
@@ -1405,7 +1418,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupSplitsDir</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.556">cleanupSplitsDir</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.557">cleanupSplitsDir</a>()
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Clean up any split detritus that may have been left around from previous split attempts.</div>
 <dl>
@@ -1420,7 +1433,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupAnySplitDetritus</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.566">cleanupAnySplitDetritus</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.567">cleanupAnySplitDetritus</a>()
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Clean up any split detritus that may have been left around from previous
  split attempts.
@@ -1437,7 +1450,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupDaughterRegion</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.594">cleanupDaughterRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.595">cleanupDaughterRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Remove daughter region</div>
 <dl>
@@ -1454,7 +1467,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>commitDaughterRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.608">commitDaughterRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.609">commitDaughterRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
                                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Commit a daughter region, moving it from the split temporary directory
  to the proper location in the filesystem.</div>
@@ -1472,7 +1485,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>createSplitsDir</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.632">createSplitsDir</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.633">createSplitsDir</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create the region splits directory.</div>
 <dl>
@@ -1487,7 +1500,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>splitStoreFile</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.661">splitStoreFile</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri,
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.662">splitStoreFile</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri,
                                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&nbsp;f,
                                                 byte[]&nbsp;splitRow,
@@ -1519,7 +1532,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getMergesDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.715">getMergesDir</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.716">getMergesDir</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd><code>Path</code> to the temp directory used during merge operations</dd>
@@ -1532,7 +1545,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getMergesDir</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.719">getMergesDir</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</pre>
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.720">getMergesDir</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</pre>
 </li>
 </ul>
 <a name="cleanupMergesDir--">
@@ -1541,7 +1554,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupMergesDir</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.726">cleanupMergesDir</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.727">cleanupMergesDir</a>()
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Clean up any merge detritus that may have been left around from previous merge attempts.</div>
 <dl>
@@ -1556,7 +1569,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupMergedRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.735">cleanupMergedRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.736">cleanupMergedRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Remove merged region</div>
 <dl>
@@ -1573,7 +1586,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>mkdirs</h4>
-<pre>static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.742">mkdirs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.743">mkdirs</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                       org.apache.hadoop.conf.Configuration&nbsp;conf,
                       org.apache.hadoop.fs.Path&nbsp;dir)
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1589,7 +1602,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>createMergesDir</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.756">createMergesDir</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.757">createMergesDir</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create the region merges directory.</div>
 <dl>
@@ -1606,7 +1619,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeStoreFile</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.780">mergeStoreFile</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.781">mergeStoreFile</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
                                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName,
                                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&nbsp;f,
                                                 org.apache.hadoop.fs.Path&nbsp;mergedDir)
@@ -1632,7 +1645,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>commitMergedRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.804">commitMergedRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegionInfo)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.805">commitMergedRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegionInfo)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Commit a merged region, moving it from the merges temporary directory to
  the proper location in the filesystem.</div>
@@ -1650,7 +1663,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>logFileSystemState</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.824">logFileSystemState</a>(org.slf4j.Logger&nbsp;LOG)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.825">logFileSystemState</a>(org.slf4j.Logger&nbsp;LOG)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Log the current state of the region</div>
 <dl>
@@ -1667,7 +1680,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionInfoFileContent</h4>
-<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.833">getRegionInfoFileContent</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)
+<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.834">getRegionInfoFileContent</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1685,7 +1698,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>loadRegionInfoFileContent</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.844">loadRegionInfoFileContent</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.845">loadRegionInfoFileContent</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                    org.apache.hadoop.fs.Path&nbsp;regionDir)
                                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client"><code>RegionInfo</code></a> from the serialized version on-disk.</div>
@@ -1706,7 +1719,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRegionInfoFileContent</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.857">writeRegionInfoFileContent</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.858">writeRegionInfoFileContent</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                org.apache.hadoop.fs.Path&nbsp;regionInfoFile,
                                                byte[]&nbsp;content)
@@ -1724,7 +1737,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRegionInfoOnFilesystem</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.874">checkRegionInfoOnFilesystem</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.875">checkRegionInfoOnFilesystem</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Write out an info file under the stored region directory. Useful recovering mangled regions.
  If the regionInfo already exists on-disk, then we fast exit.</div>
@@ -1740,7 +1753,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRegionInfoOnFilesystem</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.918">writeRegionInfoOnFilesystem</a>(boolean&nbsp;useTempDir)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.919">writeRegionInfoOnFilesystem</a>(boolean&nbsp;useTempDir)
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Write out an info file under the region directory. Useful recovering mangled regions.</div>
 <dl>
@@ -1757,7 +1770,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRegionInfoOnFilesystem</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.928">writeRegionInfoOnFilesystem</a>(byte[]&nbsp;regionInfoContent,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.929">writeRegionInfoOnFilesystem</a>(byte[]&nbsp;regionInfoContent,
                                          boolean&nbsp;useTempDir)
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Write out an info file under the region directory. Useful recovering mangled regions.</div>
@@ -1776,7 +1789,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionOnFileSystem</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.969">createRegionOnFileSystem</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.970">createRegionOnFileSystem</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                          org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                          org.apache.hadoop.fs.Path&nbsp;tableDir,
                                                          <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
@@ -1799,7 +1812,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>openRegionFromFileSystem</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1005">openRegionFromFileSystem</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1006">openRegionFromFileSystem</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                          org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                          org.apache.hadoop.fs.Path&nbsp;tableDir,
                                                          <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -1824,7 +1837,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteRegionFromFileSystem</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1044">deleteRegionFromFileSystem</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1045">deleteRegionFromFileSystem</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                               org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                               org.apache.hadoop.fs.Path&nbsp;tableDir,
                                               <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
@@ -1847,7 +1860,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>createDir</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1075">createDir</a>(org.apache.hadoop.fs.Path&nbsp;dir)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1076">createDir</a>(org.apache.hadoop.fs.Path&nbsp;dir)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Creates a directory. Assumes the user has already checked for this directory existence.</div>
 <dl>
@@ -1867,7 +1880,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>rename</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1101">rename</a>(org.apache.hadoop.fs.Path&nbsp;srcpath,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1102">rename</a>(org.apache.hadoop.fs.Path&nbsp;srcpath,
                org.apache.hadoop.fs.Path&nbsp;dstPath)
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Renames a directory. Assumes the user has already checked for this directory existence.</div>
@@ -1888,7 +1901,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteDir</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1128">deleteDir</a>(org.apache.hadoop.fs.Path&nbsp;dir)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1129">deleteDir</a>(org.apache.hadoop.fs.Path&nbsp;dir)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Deletes a directory. Assumes the user has already checked for this directory existence.</div>
 <dl>
@@ -1907,7 +1920,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>sleepBeforeRetry</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1152">sleepBeforeRetry</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1153">sleepBeforeRetry</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
                               int&nbsp;sleepMultiplier)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">sleeping logic; handles the interrupt exception.</div>
@@ -1923,7 +1936,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockList">
 <li class="blockList">
 <h4>createDirOnFileSystem</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1166">createDirOnFileSystem</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1167">createDirOnFileSystem</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                              org.apache.hadoop.conf.Configuration&nbsp;conf,
                                              org.apache.hadoop.fs.Path&nbsp;dir)
                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1948,7 +1961,7 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sleepBeforeRetry</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1195">sleepBeforeRetry</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html#line.1196">sleepBeforeRetry</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
                                      int&nbsp;sleepMultiplier,
                                      int&nbsp;baseSleepBeforeRetries,
                                      int&nbsp;hdfsClientRetriesNumber)

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index f9d3829..7de88c5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -705,20 +705,20 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
 </ul>
 </li>
 </ul>

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


[50/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/apidocs/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/HConstants.html b/apidocs/org/apache/hadoop/hbase/HConstants.html
index 737a05b..aa5efe9 100644
--- a/apidocs/org/apache/hadoop/hbase/HConstants.html
+++ b/apidocs/org/apache/hadoop/hbase/HConstants.html
@@ -1465,6 +1465,18 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLAY_QOS">REPLAY_QOS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY">REPLICATION_BARRIER_FAMILY</a></span></code>
+<div class="block">The replication barrier family</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_BARRIER_FAMILY_STR">REPLICATION_BARRIER_FAMILY_STR</a></span></code>
+<div class="block">The replication barrier family as a string</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_BULKLOAD_ENABLE_DEFAULT">REPLICATION_BULKLOAD_ENABLE_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
@@ -1514,277 +1526,284 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SCOPE_SERIAL">REPLICATION_SCOPE_SERIAL</a></span></code>
+<div class="block">Scope tag for serially scoped data
+ This data will be replicated to all peers by the order of sequence id.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SERVICE_CLASSNAME_DEFAULT">REPLICATION_SERVICE_CLASSNAME_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SINK_SERVICE_CLASSNAME">REPLICATION_SINK_SERVICE_CLASSNAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_MAXTHREADS_DEFAULT">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></span></code>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_MAXTHREADS_KEY">REPLICATION_SOURCE_MAXTHREADS_KEY</a></span></code>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_SERVICE_CLASSNAME">REPLICATION_SOURCE_SERVICE_CLASSNAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT">REPLICATION_SOURCE_TOTAL_BUFFER_DFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#REPLICATION_SOURCE_TOTAL_BUFFER_KEY">REPLICATION_SOURCE_TOTAL_BUFFER_KEY</a></span></code>
 <div class="block">Max total size of buffered entries in all replication peers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RETRY_BACKOFF">RETRY_BACKOFF</a></span></code>
 <div class="block">Retrying we multiply hbase.client.pause setting by what we have in this array until we
  run out of array items.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_CODEC_CONF_KEY">RPC_CODEC_CONF_KEY</a></span></code>
 <div class="block">Configuration key for setting RPC codec class name</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_CURRENT_VERSION">RPC_CURRENT_VERSION</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#RPC_HEADER">RPC_HEADER</a></span></code>
 <div class="block">The first four bytes of Hadoop RPC connections</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SEQNUM_QUALIFIER">SEQNUM_QUALIFIER</a></span></code>
 <div class="block">The open seqnum column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SEQNUM_QUALIFIER_STR">SEQNUM_QUALIFIER_STR</a></span></code>
 <div class="block">The open seqnum column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVER_QUALIFIER">SERVER_QUALIFIER</a></span></code>
 <div class="block">The server column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVER_QUALIFIER_STR">SERVER_QUALIFIER_STR</a></span></code>
 <div class="block">The server column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVERNAME_QUALIFIER">SERVERNAME_QUALIFIER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SERVERNAME_QUALIFIER_STR">SERVERNAME_QUALIFIER_STR</a></span></code>
 <div class="block">The serverName column qualifier.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SNAPSHOT_DIR_NAME">SNAPSHOT_DIR_NAME</a></span></code>
 <div class="block">Name of the directory to store all snapshots.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SNAPSHOT_RESTORE_FAILSAFE_NAME">SNAPSHOT_RESTORE_FAILSAFE_NAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT">SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SOCKET_RETRY_WAIT_MS">SOCKET_RETRY_WAIT_MS</a></span></code>
 <div class="block">The delay when re-trying a socket operation in a loop (HBASE-4712)</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLIT_LOGDIR_NAME">SPLIT_LOGDIR_NAME</a></span></code>
 <div class="block">Used to construct the name of the splitlog directory for a region server</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLITA_QUALIFIER">SPLITA_QUALIFIER</a></span></code>
 <div class="block">The lower-half split region column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SPLITB_QUALIFIER">SPLITB_QUALIFIER</a></span></code>
 <div class="block">The upper-half split region column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STARTCODE_QUALIFIER">STARTCODE_QUALIFIER</a></span></code>
 <div class="block">The startcode column qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STARTCODE_QUALIFIER_STR">STARTCODE_QUALIFIER_STR</a></span></code>
 <div class="block">The startcode column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATE_QUALIFIER">STATE_QUALIFIER</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATE_QUALIFIER_STR">STATE_QUALIFIER_STR</a></span></code>
 <div class="block">The state column qualifier</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_ADDRESS">STATUS_MULTICAST_ADDRESS</a></span></code>
 <div class="block">IP to use for the multicast status messages between the master and the clients.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_BIND_ADDRESS">STATUS_MULTICAST_BIND_ADDRESS</a></span></code>
 <div class="block">The address to use for binding the local socket for receiving multicast.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_NI_NAME">STATUS_MULTICAST_NI_NAME</a></span></code>
 <div class="block">The network interface name to use for the multicast messages.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_PORT">STATUS_MULTICAST_PORT</a></span></code>
 <div class="block">The port to use for the multicast messages.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_MULTICAST_PUBLISHER_BIND_ADDRESS">STATUS_MULTICAST_PUBLISHER_BIND_ADDRESS</a></span></code>
 <div class="block">The address to use for binding the local socket for sending multicast.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_PUBLISHED">STATUS_PUBLISHED</a></span></code>
 <div class="block">Setting to activate, or not, the publication of the status by the master.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#STATUS_PUBLISHED_DEFAULT">STATUS_PUBLISHED_DEFAULT</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#SYSTEMTABLE_QOS">SYSTEMTABLE_QOS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_FAMILY">TABLE_FAMILY</a></span></code>
 <div class="block">The catalog family</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_FAMILY_STR">TABLE_FAMILY_STR</a></span></code>
 <div class="block">The catalog family as a string</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_MAX_ROWSIZE_DEFAULT">TABLE_MAX_ROWSIZE_DEFAULT</a></span></code>
 <div class="block">Default max row size (1 Gb).</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_MAX_ROWSIZE_KEY">TABLE_MAX_ROWSIZE_KEY</a></span></code>
 <div class="block">Max size of single row for Get's or Scan's without in-row scanning flag set.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TABLE_STATE_QUALIFIER">TABLE_STATE_QUALIFIER</a></span></code>
 <div class="block">The serialized table state qualifier</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#TEMPORARY_FS_DIRECTORY_KEY">TEMPORARY_FS_DIRECTORY_KEY</a></span></code>
 <div class="block">Config key for hbase temporary directory in hdfs</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#THREAD_WAKE_FREQUENCY">THREAD_WAKE_FREQUENCY</a></span></code>
 <div class="block">Parameter name for how often threads should wake up</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#USE_META_REPLICAS">USE_META_REPLICAS</a></span></code>
 <div class="block">Conf key for enabling meta replication</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset">Charset</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#UTF8_CHARSET">UTF8_CHARSET</a></span></code>
 <div class="block">When we encode strings, we always specify UTF8 encoding</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#UTF8_ENCODING">UTF8_ENCODING</a></span></code>
 <div class="block">When we encode strings, we always specify UTF8 encoding</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#VERSION_FILE_NAME">VERSION_FILE_NAME</a></span></code>
 <div class="block">name of version file</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#VERSION_FILE_WRITE_ATTEMPTS">VERSION_FILE_WRITE_ATTEMPTS</a></span></code>
 <div class="block">Parameter name for how often we should try to write a version file, before failing</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#VERSIONS">VERSIONS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#WAL_STORAGE_POLICY">WAL_STORAGE_POLICY</a></span></code>
 <div class="block">Configuration name of WAL storage policy
@@ -1792,82 +1811,82 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZERO_L">ZERO_L</a></span></code>
 <div class="block">long constant for zero</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZEROES">ZEROES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CFG_PROPERTY_PREFIX">ZK_CFG_PROPERTY_PREFIX</a></span></code>
 <div class="block">Common prefix of ZooKeeper configuration properties</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CFG_PROPERTY_PREFIX_LEN">ZK_CFG_PROPERTY_PREFIX_LEN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CLIENT_KERBEROS_PRINCIPAL">ZK_CLIENT_KERBEROS_PRINCIPAL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_CLIENT_KEYTAB_FILE">ZK_CLIENT_KEYTAB_FILE</a></span></code>
 <div class="block">Configuration keys for programmatic JAAS configuration for secured ZK interaction</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_SERVER_KERBEROS_PRINCIPAL">ZK_SERVER_KERBEROS_PRINCIPAL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_SERVER_KEYTAB_FILE">ZK_SERVER_KEYTAB_FILE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZK_SESSION_TIMEOUT">ZK_SESSION_TIMEOUT</a></span></code>
 <div class="block">Configuration key for ZooKeeper session timeout</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_CLIENT_PORT">ZOOKEEPER_CLIENT_PORT</a></span></code>
 <div class="block">Parameter name for the client port that the zookeeper listens on</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_DATA_DIR">ZOOKEEPER_DATA_DIR</a></span></code>
 <div class="block">Parameter name for the ZK data directory</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_MAX_CLIENT_CNXNS">ZOOKEEPER_MAX_CLIENT_CNXNS</a></span></code>
 <div class="block">Parameter name for the limit on concurrent client-side zookeeper
  connections</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_QUORUM">ZOOKEEPER_QUORUM</a></span></code>
 <div class="block">Name of ZooKeeper quorum configuration parameter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_TICK_TIME">ZOOKEEPER_TICK_TIME</a></span></code>
 <div class="block">Parameter name for the ZK tick time</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HConstants.html#ZOOKEEPER_ZNODE_PARENT">ZOOKEEPER_ZNODE_PARENT</a></span></code>
 <div class="block">Parameter name for the root dir in ZK for this cluster</div>
@@ -3511,13 +3530,37 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="block">The serialized table state qualifier</div>
 </li>
 </ul>
+<a name="REPLICATION_BARRIER_FAMILY_STR">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_BARRIER_FAMILY_STR</h4>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.491">REPLICATION_BARRIER_FAMILY_STR</a></pre>
+<div class="block">The replication barrier family as a string</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_BARRIER_FAMILY_STR">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="REPLICATION_BARRIER_FAMILY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_BARRIER_FAMILY</h4>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.494">REPLICATION_BARRIER_FAMILY</a></pre>
+<div class="block">The replication barrier family</div>
+</li>
+</ul>
 <a name="META_VERSION_QUALIFIER">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>META_VERSION_QUALIFIER</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.496">META_VERSION_QUALIFIER</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.502">META_VERSION_QUALIFIER</a></pre>
 <div class="block">The meta table version column qualifier.
  We keep current version of the meta table in this column in <code>-ROOT-</code>
  table: i.e. in the 'info:v' column.</div>
@@ -3529,7 +3572,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>META_VERSION</h4>
-<pre>public static final&nbsp;short <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.508">META_VERSION</a></pre>
+<pre>public static final&nbsp;short <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.514">META_VERSION</a></pre>
 <div class="block">The current version of the meta table.
  - pre-hbase 0.92.  There is no META_VERSION column in the root table
  in this case. The meta has HTableDescriptor serialized into the HRegionInfo;
@@ -3550,7 +3593,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_BYTE_ARRAY</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.515">EMPTY_BYTE_ARRAY</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.521">EMPTY_BYTE_ARRAY</a></pre>
 <div class="block">An empty instance.</div>
 </li>
 </ul>
@@ -3560,7 +3603,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_BYTE_BUFFER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.517">EMPTY_BYTE_BUFFER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.523">EMPTY_BYTE_BUFFER</a></pre>
 </li>
 </ul>
 <a name="EMPTY_START_ROW">
@@ -3569,7 +3612,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_START_ROW</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.522">EMPTY_START_ROW</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.528">EMPTY_START_ROW</a></pre>
 <div class="block">Used by scanners, etc when they want to start at the beginning of a region</div>
 </li>
 </ul>
@@ -3579,7 +3622,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_END_ROW</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.527">EMPTY_END_ROW</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.533">EMPTY_END_ROW</a></pre>
 <div class="block">Last row in a table.</div>
 </li>
 </ul>
@@ -3589,7 +3632,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LAST_ROW</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.533">LAST_ROW</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.539">LAST_ROW</a></pre>
 <div class="block">Used by scanners and others when they're trying to detect the end of a
  table</div>
 </li>
@@ -3600,7 +3643,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_ROW_LENGTH</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.538">MAX_ROW_LENGTH</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.544">MAX_ROW_LENGTH</a></pre>
 <div class="block">Max length a row can have because of the limitation in TFile.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3614,7 +3657,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>LATEST_TIMESTAMP</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.564">LATEST_TIMESTAMP</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.570">LATEST_TIMESTAMP</a></pre>
 <div class="block">Timestamp to use when we want to refer to the latest cell.
 
  On client side, this is the timestamp set by default when no timestamp is specified,
@@ -3650,7 +3693,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <li class="blockList">
 <h4>OLDEST_TIMESTAMP</h4>
 <pre><a href="https://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;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.574">OLDEST_TIMESTAMP</a></pre>
+public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.580">OLDEST_TIMESTAMP</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Should not be public since hbase-1.3.0. For internal use only. Move internal to
    Scanners flagged as special timestamp value never to be returned as timestamp on a Cell.</span></div>
 <div class="block">Timestamp to use when we want to refer to the oldest cell.
@@ -3668,7 +3711,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>LATEST_TIMESTAMP_BYTES</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.579">LATEST_TIMESTAMP_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.585">LATEST_TIMESTAMP_BYTES</a></pre>
 <div class="block">LATEST_TIMESTAMP in bytes form</div>
 </li>
 </ul>
@@ -3678,7 +3721,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>ALL_VERSIONS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.594">ALL_VERSIONS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.600">ALL_VERSIONS</a></pre>
 <div class="block">Define for 'return-all-versions'.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3692,7 +3735,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>FOREVER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.600">FOREVER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.606">FOREVER</a></pre>
 <div class="block">Unlimited time-to-live.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3706,7 +3749,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DAY_IN_SECONDS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.605">DAY_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.611">DAY_IN_SECONDS</a></pre>
 <div class="block">Seconds in a day, hour and minute</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3720,7 +3763,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HOUR_IN_SECONDS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.606">HOUR_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.612">HOUR_IN_SECONDS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HOUR_IN_SECONDS">Constant Field Values</a></dd>
@@ -3733,7 +3776,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>MINUTE_IN_SECONDS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.607">MINUTE_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.613">MINUTE_IN_SECONDS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.MINUTE_IN_SECONDS">Constant Field Values</a></dd>
@@ -3746,7 +3789,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.613">NAME</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.619">NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.NAME">Constant Field Values</a></dd>
@@ -3759,7 +3802,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>VERSIONS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.614">VERSIONS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.620">VERSIONS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.VERSIONS">Constant Field Values</a></dd>
@@ -3772,7 +3815,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>IN_MEMORY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.615">IN_MEMORY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.621">IN_MEMORY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.IN_MEMORY">Constant Field Values</a></dd>
@@ -3785,7 +3828,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>METADATA</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.616">METADATA</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.622">METADATA</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.METADATA">Constant Field Values</a></dd>
@@ -3798,7 +3841,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>CONFIGURATION</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.617">CONFIGURATION</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.623">CONFIGURATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.CONFIGURATION">Constant Field Values</a></dd>
@@ -3811,7 +3854,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>RETRY_BACKOFF</h4>
-<pre>public static final&nbsp;int[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.627">RETRY_BACKOFF</a></pre>
+<pre>public static final&nbsp;int[] <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.633">RETRY_BACKOFF</a></pre>
 <div class="block">Retrying we multiply hbase.client.pause setting by what we have in this array until we
  run out of array items.  Retries beyond this use the last number in the array.  So, for
  example, if hbase.client.pause is 1 second, and maximum retries count
@@ -3826,7 +3869,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_IMPL</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.629">REGION_IMPL</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.635">REGION_IMPL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REGION_IMPL">Constant Field Values</a></dd>
@@ -3839,7 +3882,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SCOPE_LOCAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.635">REPLICATION_SCOPE_LOCAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.641">REPLICATION_SCOPE_LOCAL</a></pre>
 <div class="block">Scope tag for locally scoped data.
  This data will not be replicated.</div>
 <dl>
@@ -3854,7 +3897,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SCOPE_GLOBAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.641">REPLICATION_SCOPE_GLOBAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.647">REPLICATION_SCOPE_GLOBAL</a></pre>
 <div class="block">Scope tag for globally scoped data.
  This data will be replicated to all peers.</div>
 <dl>
@@ -3863,13 +3906,28 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 </dl>
 </li>
 </ul>
+<a name="REPLICATION_SCOPE_SERIAL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REPLICATION_SCOPE_SERIAL</h4>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.653">REPLICATION_SCOPE_SERIAL</a></pre>
+<div class="block">Scope tag for serially scoped data
+ This data will be replicated to all peers by the order of sequence id.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_SERIAL">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="DEFAULT_CLUSTER_ID">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CLUSTER_ID</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.647">DEFAULT_CLUSTER_ID</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.659">DEFAULT_CLUSTER_ID</a></pre>
 <div class="block">Default cluster ID, cannot be used to identify a cluster so a key with
  this value means it wasn't meant for replication.</div>
 </li>
@@ -3880,7 +3938,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.653">HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.665">HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE_KEY</a></pre>
 <div class="block">Parameter name for maximum number of bytes returned when calling a scanner's next method.
  Controlled by the client.</div>
 <dl>
@@ -3895,7 +3953,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.660">HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.672">HBASE_SERVER_SCANNER_MAX_RESULT_SIZE_KEY</a></pre>
 <div class="block">Parameter name for maximum number of bytes returned when calling a scanner's next method.
  Controlled by the server.</div>
 <dl>
@@ -3910,7 +3968,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.670">DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.682">DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE</a></pre>
 <div class="block">Maximum number of bytes returned when calling a scanner's next method.
  Note that when a single row is larger than this limit the row is still
  returned completely.
@@ -3928,7 +3986,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.680">DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.692">DEFAULT_HBASE_SERVER_SCANNER_MAX_RESULT_SIZE</a></pre>
 <div class="block">Maximum number of bytes returned when calling a scanner's next method.
  Note that when a single row is larger than this limit the row is still
  returned completely.
@@ -3947,7 +4005,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_PAUSE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.686">HBASE_CLIENT_PAUSE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.698">HBASE_CLIENT_PAUSE</a></pre>
 <div class="block">Parameter name for client pause value, used mostly as value to wait
  before running a retry of a failed get, region lookup, etc.</div>
 <dl>
@@ -3962,7 +4020,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_PAUSE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.691">DEFAULT_HBASE_CLIENT_PAUSE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.703">DEFAULT_HBASE_CLIENT_PAUSE</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_PAUSE"><code>HBASE_CLIENT_PAUSE</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3976,7 +4034,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_PAUSE_FOR_CQTBE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.696">HBASE_CLIENT_PAUSE_FOR_CQTBE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.708">HBASE_CLIENT_PAUSE_FOR_CQTBE</a></pre>
 <div class="block">Parameter name for client pause value for special case such as call queue too big, etc.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3990,7 +4048,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_MAX_TOTAL_TASKS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.701">HBASE_CLIENT_MAX_TOTAL_TASKS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.713">HBASE_CLIENT_MAX_TOTAL_TASKS</a></pre>
 <div class="block">The maximum number of concurrent connections the client will maintain.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4004,7 +4062,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.706">DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.718">DEFAULT_HBASE_CLIENT_MAX_TOTAL_TASKS</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_MAX_TOTAL_TASKS"><code>HBASE_CLIENT_MAX_TOTAL_TASKS</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4018,7 +4076,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_MAX_PERSERVER_TASKS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.712">HBASE_CLIENT_MAX_PERSERVER_TASKS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.724">HBASE_CLIENT_MAX_PERSERVER_TASKS</a></pre>
 <div class="block">The maximum number of concurrent connections the client will maintain to a single
  RegionServer.</div>
 <dl>
@@ -4033,7 +4091,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.717">DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.729">DEFAULT_HBASE_CLIENT_MAX_PERSERVER_TASKS</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_MAX_PERSERVER_TASKS"><code>HBASE_CLIENT_MAX_PERSERVER_TASKS</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4047,7 +4105,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_MAX_PERREGION_TASKS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.723">HBASE_CLIENT_MAX_PERREGION_TASKS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.735">HBASE_CLIENT_MAX_PERREGION_TASKS</a></pre>
 <div class="block">The maximum number of concurrent connections the client will maintain to a single
  Region.</div>
 <dl>
@@ -4062,7 +4120,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.728">DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.740">DEFAULT_HBASE_CLIENT_MAX_PERREGION_TASKS</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_MAX_PERREGION_TASKS"><code>HBASE_CLIENT_MAX_PERREGION_TASKS</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4076,7 +4134,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.733">HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.745">HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</a></pre>
 <div class="block">The maximum number of concurrent pending RPC requests for one server in process level.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4090,7 +4148,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.739">DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.751">DEFAULT_HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD"><code>HBASE_CLIENT_PERSERVER_REQUESTS_THRESHOLD</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4104,7 +4162,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SERVER_PAUSE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.746">HBASE_SERVER_PAUSE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.758">HBASE_SERVER_PAUSE</a></pre>
 <div class="block">Parameter name for server pause value, used mostly as value to wait before
  running a retry of a failed operation.</div>
 <dl>
@@ -4119,7 +4177,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_SERVER_PAUSE</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.751">DEFAULT_HBASE_SERVER_PAUSE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.763">DEFAULT_HBASE_SERVER_PAUSE</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_SERVER_PAUSE"><code>HBASE_SERVER_PAUSE</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4133,7 +4191,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_RETRIES_NUMBER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.758">HBASE_CLIENT_RETRIES_NUMBER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.770">HBASE_CLIENT_RETRIES_NUMBER</a></pre>
 <div class="block">Parameter name for maximum retries, used as maximum for all retryable
  operations such as fetching of the root region from root region server,
  getting a cell's value, starting a row update, etc.</div>
@@ -4149,7 +4207,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_RETRIES_NUMBER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.763">DEFAULT_HBASE_CLIENT_RETRIES_NUMBER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.775">DEFAULT_HBASE_CLIENT_RETRIES_NUMBER</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_RETRIES_NUMBER"><code>HBASE_CLIENT_RETRIES_NUMBER</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4163,7 +4221,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.765">HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.777">HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER">Constant Field Values</a></dd>
@@ -4176,7 +4234,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.768">DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.780">DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER">Constant Field Values</a></dd>
@@ -4189,7 +4247,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SCANNER_CACHING</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.773">HBASE_CLIENT_SCANNER_CACHING</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.785">HBASE_CLIENT_SCANNER_CACHING</a></pre>
 <div class="block">Parameter name to set the default scanner caching for all clients.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4203,7 +4261,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SCANNER_CACHING</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.778">DEFAULT_HBASE_CLIENT_SCANNER_CACHING</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.790">DEFAULT_HBASE_CLIENT_SCANNER_CACHING</a></pre>
 <div class="block">Default value for <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_CACHING"><code>HBASE_CLIENT_SCANNER_CACHING</code></a></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4217,7 +4275,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_META_SCANNER_CACHING</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.786">HBASE_META_SCANNER_CACHING</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.798">HBASE_META_SCANNER_CACHING</a></pre>
 <div class="block">Parameter name for number of rows that will be fetched when calling next on
  a scanner if it is not served from memory. Higher caching values will
  enable faster scanners but will eat up more memory and some calls of next
@@ -4234,7 +4292,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_META_SCANNER_CACHING</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.791">DEFAULT_HBASE_META_SCANNER_CACHING</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.803">DEFAULT_HBASE_META_SCANNER_CACHING</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_META_SCANNER_CACHING"><code>HBASE_META_SCANNER_CACHING</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4248,7 +4306,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_META_VERSIONS</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.796">HBASE_META_VERSIONS</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.808">HBASE_META_VERSIONS</a></pre>
 <div class="block">Parameter name for number of versions, kept by meta table.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4262,7 +4320,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_META_VERSIONS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.801">DEFAULT_HBASE_META_VERSIONS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.813">DEFAULT_HBASE_META_VERSIONS</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_META_VERSIONS"><code>HBASE_META_VERSIONS</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4276,7 +4334,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_META_BLOCK_SIZE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.806">HBASE_META_BLOCK_SIZE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.818">HBASE_META_BLOCK_SIZE</a></pre>
 <div class="block">Parameter name for number of versions, kept by meta table.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4290,7 +4348,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_META_BLOCK_SIZE</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.811">DEFAULT_HBASE_META_BLOCK_SIZE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.823">DEFAULT_HBASE_META_BLOCK_SIZE</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_META_BLOCK_SIZE"><code>HBASE_META_BLOCK_SIZE</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4304,7 +4362,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_INSTANCE_ID</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.822">HBASE_CLIENT_INSTANCE_ID</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.834">HBASE_CLIENT_INSTANCE_ID</a></pre>
 <div class="block">Parameter name for unique identifier for this <code>Configuration</code>
  instance. If there are two or more <code>Configuration</code> instances that,
  for all intents and purposes, are the same except for their instance ids, then they will not be
@@ -4324,7 +4382,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.827">HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.839">HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</a></pre>
 <div class="block">The client scanner timeout period in milliseconds.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4339,7 +4397,7 @@ public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hb
 <li class="blockList">
 <h4>HBASE_REGIONSERVER_LEASE_PERIOD_KEY</h4>
 <pre><a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.835">HBASE_REGIONSERVER_LEASE_PERIOD_KEY</a></pre>
+public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.847">HBASE_REGIONSERVER_LEASE_PERIOD_KEY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">This config option is deprecated. Will be removed at later releases after 0.96.</span></div>
 <div class="block">Use <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD"><code>HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</code></a> instead.</div>
 <dl>
@@ -4354,7 +4412,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.841">DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.853">DEFAULT_HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD"><code>HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD</code></a>.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4368,7 +4426,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_RPC_TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.846">HBASE_RPC_TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.858">HBASE_RPC_TIMEOUT_KEY</a></pre>
 <div class="block">timeout for each RPC</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4382,7 +4440,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_RPC_READ_TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.851">HBASE_RPC_READ_TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.863">HBASE_RPC_READ_TIMEOUT_KEY</a></pre>
 <div class="block">timeout for each read RPC</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4396,7 +4454,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_RPC_WRITE_TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.856">HBASE_RPC_WRITE_TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.868">HBASE_RPC_WRITE_TIMEOUT_KEY</a></pre>
 <div class="block">timeout for each write RPC</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4410,7 +4468,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_RPC_TIMEOUT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.861">DEFAULT_HBASE_RPC_TIMEOUT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.873">DEFAULT_HBASE_RPC_TIMEOUT</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_RPC_TIMEOUT_KEY"><code>HBASE_RPC_TIMEOUT_KEY</code></a></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4424,7 +4482,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.866">HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.878">HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY</a></pre>
 <div class="block">timeout for short operation RPC</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4438,7 +4496,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.872">DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.884">DEFAULT_HBASE_RPC_SHORTOPERATION_TIMEOUT</a></pre>
 <div class="block">Default value of <a href="../../../../org/apache/hadoop/hbase/HConstants.html#HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY"><code>HBASE_RPC_SHORTOPERATION_TIMEOUT_KEY</code></a></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4452,7 +4510,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_SEQNUM</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.877">NO_SEQNUM</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.889">NO_SEQNUM</a></pre>
 <div class="block">Value indicating the server name was saved with no sequence number.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -4466,7 +4524,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_SERVICE_CLASSNAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.884">REPLICATION_SOURCE_SERVICE_CLASSNAME</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.896">REPLICATION_SOURCE_SERVICE_CLASSNAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME">Constant Field Values</a></dd>
@@ -4479,7 +4537,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SINK_SERVICE_CLASSNAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.886">REPLICATION_SINK_SERVICE_CLASSNAME</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.898">REPLICATION_SINK_SERVICE_CLASSNAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SINK_SERVICE_CLASSNAME">Constant Field Values</a></dd>
@@ -4492,7 +4550,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SERVICE_CLASSNAME_DEFAULT</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.887">REPLICATION_SERVICE_CLASSNAME_DEFAULT</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.899">REPLICATION_SERVICE_CLASSNAME_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT">Constant Field Values</a></dd>
@@ -4505,7 +4563,7 @@ public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_BULKLOAD_ENABLE_KEY</h4>
-<pre>public static final&nbsp;<a href="https:

<TRUNCATED>

[04/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
index 3563b1c..0cc71bf 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
@@ -1577,387 +1577,386 @@
 <span class="sourceLineNo">1569</span>  }<a name="line.1569"></a>
 <span class="sourceLineNo">1570</span><a name="line.1570"></a>
 <span class="sourceLineNo">1571</span>  public void markRegionAsSplit(final RegionInfo parent, final ServerName serverName,<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>      final RegionInfo daughterA, final RegionInfo daughterB)<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span>  throws IOException {<a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>    // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>    // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>    // Update its state in regionStates to it shows as offline and split when read<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>    // later figuring what regions are in a table and what are not: see<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>    // regionStates#getRegionsOfTable<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>    node.setState(State.SPLIT);<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>    final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>    nodeA.setState(State.SPLITTING_NEW);<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>    final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>    nodeB.setState(State.SPLITTING_NEW);<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span><a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>    regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>    if (shouldAssignFavoredNodes(parent)) {<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>      List&lt;ServerName&gt; onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>          generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>    }<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>  }<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span><a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>  /**<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>   * When called here, the merge has happened. The two merged regions have been<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>   * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>   * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>   * merged regions are removed from hbase:meta below&gt; Later they are deleted from the filesystem<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>   * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>   * longer holds references to the old regions.<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>   */<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>  public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>      final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>    node.setState(State.MERGED);<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    regionStates.deleteRegion(mother);<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>    regionStates.deleteRegion(father);<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span>    regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>    if (shouldAssignFavoredNodes(child)) {<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>        generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>    }<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>  }<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span><a name="line.1614"></a>
-<span class="sourceLineNo">1615</span>  /*<a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>   * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>   * belongs to a non-system table.<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>   */<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>  private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>    return this.shouldAssignRegionsWithFavoredNodes &amp;&amp;<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>        FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>  }<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span><a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>  // ============================================================================================<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>  //  Assign Queue (Assign/Balance)<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>  // ============================================================================================<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span>  private final ArrayList&lt;RegionStateNode&gt; pendingAssignQueue = new ArrayList&lt;RegionStateNode&gt;();<a name="line.1627"></a>
-<span class="sourceLineNo">1628</span>  private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>  private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span><a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>  /**<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>   * Add the assign operation to the assignment queue.<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>   * The pending assignment operation will be processed,<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>   * and each region will be assigned by a server using the balancer.<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>   */<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span>  protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    regionNode.getProcedureEvent().suspend();<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span><a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>    // TODO: quick-start for meta and the other sys-tables?<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>    assignQueueLock.lock();<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>    try {<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>      pendingAssignQueue.add(regionNode);<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>      if (regionNode.isSystemTable() ||<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>          pendingAssignQueue.size() == 1 ||<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>          pendingAssignQueue.size() &gt;= assignDispatchWaitQueueMaxSize) {<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>        assignQueueFullCond.signal();<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>      }<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>    } finally {<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>      assignQueueLock.unlock();<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>    }<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>  }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span><a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>  private void startAssignmentThread() {<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>    // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>    // For example, in tests.<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>    String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>        master.getServerName().toShortString();<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>    assignThread = new Thread(name) {<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>      @Override<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>      public void run() {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        while (isRunning()) {<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>          processAssignQueue();<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>        }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>        pendingAssignQueue.clear();<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>      }<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>    };<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>    assignThread.setDaemon(true);<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>    assignThread.start();<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>  }<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span><a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>  private void stopAssignmentThread() {<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>    assignQueueSignal();<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>    try {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>      while (assignThread.isAlive()) {<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>        assignQueueSignal();<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>        assignThread.join(250);<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>      }<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>    } catch (InterruptedException e) {<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span>      LOG.warn("join interrupted", e);<a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>      Thread.currentThread().interrupt();<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>    }<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span>  }<a name="line.1682"></a>
-<span class="sourceLineNo">1683</span><a name="line.1683"></a>
-<span class="sourceLineNo">1684</span>  private void assignQueueSignal() {<a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    assignQueueLock.lock();<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    try {<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>      assignQueueFullCond.signal();<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>    } finally {<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>      assignQueueLock.unlock();<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span>    }<a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>  }<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span><a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>  private HashMap&lt;RegionInfo, RegionStateNode&gt; waitOnAssignQueue() {<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>    HashMap&lt;RegionInfo, RegionStateNode&gt; regions = null;<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span><a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>    assignQueueLock.lock();<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>    try {<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>      if (pendingAssignQueue.isEmpty() &amp;&amp; isRunning()) {<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>        assignQueueFullCond.await();<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>      }<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span><a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>      if (!isRunning()) return null;<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>      assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>      regions = new HashMap&lt;RegionInfo, RegionStateNode&gt;(pendingAssignQueue.size());<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>      for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>        regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>      }<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>      pendingAssignQueue.clear();<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>    } catch (InterruptedException e) {<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>      LOG.warn("got interrupted ", e);<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span>      Thread.currentThread().interrupt();<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>    } finally {<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>      assignQueueLock.unlock();<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>    }<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>    return regions;<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>  }<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span><a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>  private void processAssignQueue() {<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>    final HashMap&lt;RegionInfo, RegionStateNode&gt; regions = waitOnAssignQueue();<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>    if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>      return;<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>    }<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span><a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>    if (LOG.isTraceEnabled()) {<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>      LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>    }<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span><a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>    // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>    final HashMap&lt;RegionInfo, ServerName&gt; retainMap = new HashMap&lt;&gt;();<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>    final List&lt;RegionInfo&gt; userHRIs = new ArrayList&lt;&gt;(regions.size());<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>    // Regions for system tables requiring reassignment<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>    final List&lt;RegionInfo&gt; systemHRIs = new ArrayList&lt;&gt;();<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>    for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>      boolean sysTable = regionStateNode.isSystemTable();<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>      final List&lt;RegionInfo&gt; hris = sysTable? systemHRIs: userHRIs;<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>      if (regionStateNode.getRegionLocation() != null) {<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>        retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>      } else {<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>        hris.add(regionStateNode.getRegionInfo());<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>      }<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>    }<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span><a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>    // TODO: connect with the listener to invalidate the cache<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span><a name="line.1745"></a>
-<span class="sourceLineNo">1746</span>    // TODO use events<a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>    List&lt;ServerName&gt; servers = master.getServerManager().createDestinationServersList();<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>    for (int i = 0; servers.size() &lt; 1; ++i) {<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span>      // Report every fourth time around this loop; try not to flood log.<a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>      if (i % 4 == 0) {<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>        LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>      }<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span><a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>      if (!isRunning()) {<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>        LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>        return;<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>      }<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>      Threads.sleep(250);<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span>      servers = master.getServerManager().createDestinationServersList();<a name="line.1759"></a>
-<span class="sourceLineNo">1760</span>    }<a name="line.1760"></a>
-<span class="sourceLineNo">1761</span><a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>    if (!systemHRIs.isEmpty()) {<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>      // System table regions requiring reassignment are present, get region servers<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      // not available for system table regions<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span>      final List&lt;ServerName&gt; excludeServers = getExcludedServersForSystemTable();<a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>      List&lt;ServerName&gt; serversForSysTables = servers.stream()<a name="line.1766"></a>
-<span class="sourceLineNo">1767</span>          .filter(s -&gt; !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>      if (serversForSysTables.isEmpty()) {<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>        LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>            "instead considering all candidate servers!");<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span>      }<a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>      LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>          ", allServersCount=" + servers.size());<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>      processAssignmentPlans(regions, null, systemHRIs,<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>          serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>    }<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span><a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>    processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>  }<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span><a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>  private void processAssignmentPlans(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>      final HashMap&lt;RegionInfo, ServerName&gt; retainMap, final List&lt;RegionInfo&gt; hris,<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>      final List&lt;ServerName&gt; servers) {<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>    boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>    if (isTraceEnabled) {<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>      LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>    }<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span><a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>    final LoadBalancer balancer = getBalancer();<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>    // ask the balancer where to place regions<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span>    if (retainMap != null &amp;&amp; !retainMap.isEmpty()) {<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>      if (isTraceEnabled) {<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>        LOG.trace("retain assign regions=" + retainMap);<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>      }<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>      try {<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>        acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>      } catch (HBaseIOException e) {<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>        LOG.warn("unable to retain assignment", e);<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>        addToPendingAssignment(regions, retainMap.keySet());<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>      }<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span>    }<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span><a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>    // TODO: Do we need to split retain and round-robin?<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>    // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>    if (!hris.isEmpty()) {<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>      Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>      if (isTraceEnabled) {<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>        LOG.trace("round robin regions=" + hris);<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span>      }<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>      try {<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>        acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>      } catch (HBaseIOException e) {<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>        LOG.warn("unable to round-robin assignment", e);<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span>        addToPendingAssignment(regions, hris);<a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      }<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>    }<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>  }<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span><a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>  private void acceptPlan(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>      final Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; plan) throws HBaseIOException {<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>    final ProcedureEvent[] events = new ProcedureEvent[regions.size()];<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span>    final long st = System.currentTimeMillis();<a name="line.1822"></a>
-<span class="sourceLineNo">1823</span><a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>    if (plan == null) {<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>      throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>    }<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span><a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>    if (plan.isEmpty()) return;<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span><a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>    int evcount = 0;<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>    for (Map.Entry&lt;ServerName, List&lt;RegionInfo&gt;&gt; entry: plan.entrySet()) {<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>      final ServerName server = entry.getKey();<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>      for (RegionInfo hri: entry.getValue()) {<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>        final RegionStateNode regionNode = regions.get(hri);<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>        regionNode.setRegionLocation(server);<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>        events[evcount++] = regionNode.getProcedureEvent();<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>      }<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>    }<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>    ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span><a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>    final long et = System.currentTimeMillis();<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>    if (LOG.isTraceEnabled()) {<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>      LOG.trace("ASSIGN ACCEPT " + events.length + " -&gt; " +<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>          StringUtils.humanTimeDiff(et - st));<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>    }<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>  }<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span><a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>  private void addToPendingAssignment(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>      final Collection&lt;RegionInfo&gt; pendingRegions) {<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>    assignQueueLock.lock();<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>    try {<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>      for (RegionInfo hri: pendingRegions) {<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>        pendingAssignQueue.add(regions.get(hri));<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>      }<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>    } finally {<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>      assignQueueLock.unlock();<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>    }<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>  }<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span><a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>  /**<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>   * Get a list of servers that this region cannot be assigned to.<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>   * For system tables, we must assign them to a server with highest version.<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>   */<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>  public List&lt;ServerName&gt; getExcludedServersForSystemTable() {<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span>    // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>    // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>    // RegionServerInfo that includes Version.<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>    List&lt;Pair&lt;ServerName, String&gt;&gt; serverList = master.getServerManager().getOnlineServersList()<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>        .stream()<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>        .map((s)-&gt;new Pair&lt;&gt;(s, master.getRegionServerVersion(s)))<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span>        .collect(Collectors.toList());<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>    if (serverList.isEmpty()) {<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span>      return Collections.EMPTY_LIST;<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>    }<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>    String highestVersion = Collections.max(serverList,<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>        (o1, o2) -&gt; VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    return serverList.stream()<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>        .filter((p)-&gt;!p.getSecond().equals(highestVersion))<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>        .map(Pair::getFirst)<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>        .collect(Collectors.toList());<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>  }<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span><a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>  // ============================================================================================<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>  //  Server Helpers<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>  // ============================================================================================<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>  @Override<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>  public void serverAdded(final ServerName serverName) {<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>  }<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span><a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>  @Override<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>  public void serverRemoved(final ServerName serverName) {<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>    if (serverNode == null) return;<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span><a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>    // just in case, wake procedures waiting for this server report<a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>    wakeServerReportEvent(serverNode);<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>  }<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span><a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  public int getServerVersion(final ServerName serverName) {<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    final ServerStateNode node = regionStates.getServerNode(serverName);<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>    return node != null ? node.getVersionNumber() : 0;<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>  }<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span><a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>  public void killRegionServer(final ServerName serverName) {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>    killRegionServer(serverNode);<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>  }<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span><a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>  public void killRegionServer(final ServerStateNode serverNode) {<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>    /** Don't do this. Messes up accounting. Let ServerCrashProcedure do this.<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>    for (RegionStateNode regionNode: serverNode.getRegions()) {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>      regionNode.offline();<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>    }*/<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>    master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>  }<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span><a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>  /**<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>   * Handle RIT of meta region against crashed server.<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>   * Only used when ServerCrashProcedure is not enabled.<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>   * See handleRIT in ServerCrashProcedure for similar function.<a name="line.1920"></a>
-<span class="sourceLineNo">1921</span>   *<a name="line.1921"></a>
-<span class="sourceLineNo">1922</span>   * @param serverName Server that has already crashed<a name="line.1922"></a>
-<span class="sourceLineNo">1923</span>   */<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span>  public void handleMetaRITOnCrashedServer(ServerName serverName) {<a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>    RegionInfo hri = RegionReplicaUtil<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>    if (regionStateNode == null) {<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>      return;<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>    }<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>      return;<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>    } else if (rsnServerName == null) {<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1937"></a>
-<span class="sourceLineNo">1938</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1938"></a>
-<span class="sourceLineNo">1939</span>    }<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    // meta has been assigned to crashed server.<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>    // Handle failure and wake event<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>    }<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>  }<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>}<a name="line.1952"></a>
+<span class="sourceLineNo">1572</span>      final RegionInfo daughterA, final RegionInfo daughterB) throws IOException {<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span>    // Update hbase:meta. Parent will be marked offline and split up in hbase:meta.<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>    // The parent stays in regionStates until cleared when removed by CatalogJanitor.<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span>    // Update its state in regionStates to it shows as offline and split when read<a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>    // later figuring what regions are in a table and what are not: see<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>    // regionStates#getRegionsOfTable<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(parent);<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>    node.setState(State.SPLIT);<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>    final RegionStateNode nodeA = regionStates.getOrCreateRegionStateNode(daughterA);<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>    nodeA.setState(State.SPLITTING_NEW);<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>    final RegionStateNode nodeB = regionStates.getOrCreateRegionStateNode(daughterB);<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>    nodeB.setState(State.SPLITTING_NEW);<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span><a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>    regionStateStore.splitRegion(parent, daughterA, daughterB, serverName);<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>    if (shouldAssignFavoredNodes(parent)) {<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>      List&lt;ServerName&gt; onlineServers = this.master.getServerManager().getOnlineServersList();<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>          generateFavoredNodesForDaughter(onlineServers, parent, daughterA, daughterB);<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>    }<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>  }<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span><a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>  /**<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>   * When called here, the merge has happened. The two merged regions have been<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>   * unassigned and the above markRegionClosed has been called on each so they have been<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>   * disassociated from a hosting Server. The merged region will be open after this call. The<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>   * merged regions are removed from hbase:meta below&gt; Later they are deleted from the filesystem<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>   * by the catalog janitor running against hbase:meta. It notices when the merged region no<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>   * longer holds references to the old regions.<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>   */<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>  public void markRegionAsMerged(final RegionInfo child, final ServerName serverName,<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>      final RegionInfo mother, final RegionInfo father) throws IOException {<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>    final RegionStateNode node = regionStates.getOrCreateRegionStateNode(child);<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>    node.setState(State.MERGED);<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>    regionStates.deleteRegion(mother);<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>    regionStates.deleteRegion(father);<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>    regionStateStore.mergeRegions(child, mother, father, serverName);<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>    if (shouldAssignFavoredNodes(child)) {<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>      ((FavoredNodesPromoter)getBalancer()).<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span>        generateFavoredNodesForMergedRegion(child, mother, father);<a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>    }<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>  }<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span><a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>  /*<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>   * Favored nodes should be applied only when FavoredNodes balancer is configured and the region<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>   * belongs to a non-system table.<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span>   */<a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>  private boolean shouldAssignFavoredNodes(RegionInfo region) {<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>    return this.shouldAssignRegionsWithFavoredNodes &amp;&amp;<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>        FavoredNodesManager.isFavoredNodeApplicable(region);<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>  }<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span><a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>  // ============================================================================================<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>  //  Assign Queue (Assign/Balance)<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span>  // ============================================================================================<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>  private final ArrayList&lt;RegionStateNode&gt; pendingAssignQueue = new ArrayList&lt;RegionStateNode&gt;();<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>  private final ReentrantLock assignQueueLock = new ReentrantLock();<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>  private final Condition assignQueueFullCond = assignQueueLock.newCondition();<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span><a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>  /**<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>   * Add the assign operation to the assignment queue.<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>   * The pending assignment operation will be processed,<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>   * and each region will be assigned by a server using the balancer.<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>   */<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>  protected void queueAssign(final RegionStateNode regionNode) {<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>    regionNode.getProcedureEvent().suspend();<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span><a name="line.1637"></a>
+<span class="sourceLineNo">1638</span>    // TODO: quick-start for meta and the other sys-tables?<a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>    assignQueueLock.lock();<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>    try {<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>      pendingAssignQueue.add(regionNode);<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>      if (regionNode.isSystemTable() ||<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>          pendingAssignQueue.size() == 1 ||<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>          pendingAssignQueue.size() &gt;= assignDispatchWaitQueueMaxSize) {<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>        assignQueueFullCond.signal();<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>      }<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>    } finally {<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      assignQueueLock.unlock();<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>    }<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>  }<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span><a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>  private void startAssignmentThread() {<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>    // Get Server Thread name. Sometimes the Server is mocked so may not implement HasThread.<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    // For example, in tests.<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>    String name = master instanceof HasThread? ((HasThread)master).getName():<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>        master.getServerName().toShortString();<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>    assignThread = new Thread(name) {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>      @Override<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>      public void run() {<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>        while (isRunning()) {<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>          processAssignQueue();<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>        }<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>        pendingAssignQueue.clear();<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span>      }<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>    };<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>    assignThread.setDaemon(true);<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>    assignThread.start();<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>  }<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span><a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>  private void stopAssignmentThread() {<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>    assignQueueSignal();<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>    try {<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>      while (assignThread.isAlive()) {<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>        assignQueueSignal();<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>        assignThread.join(250);<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>      }<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span>    } catch (InterruptedException e) {<a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>      LOG.warn("join interrupted", e);<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>      Thread.currentThread().interrupt();<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>    }<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span>  }<a name="line.1681"></a>
+<span class="sourceLineNo">1682</span><a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>  private void assignQueueSignal() {<a name="line.1683"></a>
+<span class="sourceLineNo">1684</span>    assignQueueLock.lock();<a name="line.1684"></a>
+<span class="sourceLineNo">1685</span>    try {<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span>      assignQueueFullCond.signal();<a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>    } finally {<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span>      assignQueueLock.unlock();<a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>    }<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>  }<a name="line.1690"></a>
+<span class="sourceLineNo">1691</span><a name="line.1691"></a>
+<span class="sourceLineNo">1692</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings("WA_AWAIT_NOT_IN_LOOP")<a name="line.1692"></a>
+<span class="sourceLineNo">1693</span>  private HashMap&lt;RegionInfo, RegionStateNode&gt; waitOnAssignQueue() {<a name="line.1693"></a>
+<span class="sourceLineNo">1694</span>    HashMap&lt;RegionInfo, RegionStateNode&gt; regions = null;<a name="line.1694"></a>
+<span class="sourceLineNo">1695</span><a name="line.1695"></a>
+<span class="sourceLineNo">1696</span>    assignQueueLock.lock();<a name="line.1696"></a>
+<span class="sourceLineNo">1697</span>    try {<a name="line.1697"></a>
+<span class="sourceLineNo">1698</span>      if (pendingAssignQueue.isEmpty() &amp;&amp; isRunning()) {<a name="line.1698"></a>
+<span class="sourceLineNo">1699</span>        assignQueueFullCond.await();<a name="line.1699"></a>
+<span class="sourceLineNo">1700</span>      }<a name="line.1700"></a>
+<span class="sourceLineNo">1701</span><a name="line.1701"></a>
+<span class="sourceLineNo">1702</span>      if (!isRunning()) return null;<a name="line.1702"></a>
+<span class="sourceLineNo">1703</span>      assignQueueFullCond.await(assignDispatchWaitMillis, TimeUnit.MILLISECONDS);<a name="line.1703"></a>
+<span class="sourceLineNo">1704</span>      regions = new HashMap&lt;RegionInfo, RegionStateNode&gt;(pendingAssignQueue.size());<a name="line.1704"></a>
+<span class="sourceLineNo">1705</span>      for (RegionStateNode regionNode: pendingAssignQueue) {<a name="line.1705"></a>
+<span class="sourceLineNo">1706</span>        regions.put(regionNode.getRegionInfo(), regionNode);<a name="line.1706"></a>
+<span class="sourceLineNo">1707</span>      }<a name="line.1707"></a>
+<span class="sourceLineNo">1708</span>      pendingAssignQueue.clear();<a name="line.1708"></a>
+<span class="sourceLineNo">1709</span>    } catch (InterruptedException e) {<a name="line.1709"></a>
+<span class="sourceLineNo">1710</span>      LOG.warn("got interrupted ", e);<a name="line.1710"></a>
+<span class="sourceLineNo">1711</span>      Thread.currentThread().interrupt();<a name="line.1711"></a>
+<span class="sourceLineNo">1712</span>    } finally {<a name="line.1712"></a>
+<span class="sourceLineNo">1713</span>      assignQueueLock.unlock();<a name="line.1713"></a>
+<span class="sourceLineNo">1714</span>    }<a name="line.1714"></a>
+<span class="sourceLineNo">1715</span>    return regions;<a name="line.1715"></a>
+<span class="sourceLineNo">1716</span>  }<a name="line.1716"></a>
+<span class="sourceLineNo">1717</span><a name="line.1717"></a>
+<span class="sourceLineNo">1718</span>  private void processAssignQueue() {<a name="line.1718"></a>
+<span class="sourceLineNo">1719</span>    final HashMap&lt;RegionInfo, RegionStateNode&gt; regions = waitOnAssignQueue();<a name="line.1719"></a>
+<span class="sourceLineNo">1720</span>    if (regions == null || regions.size() == 0 || !isRunning()) {<a name="line.1720"></a>
+<span class="sourceLineNo">1721</span>      return;<a name="line.1721"></a>
+<span class="sourceLineNo">1722</span>    }<a name="line.1722"></a>
+<span class="sourceLineNo">1723</span><a name="line.1723"></a>
+<span class="sourceLineNo">1724</span>    if (LOG.isTraceEnabled()) {<a name="line.1724"></a>
+<span class="sourceLineNo">1725</span>      LOG.trace("PROCESS ASSIGN QUEUE regionCount=" + regions.size());<a name="line.1725"></a>
+<span class="sourceLineNo">1726</span>    }<a name="line.1726"></a>
+<span class="sourceLineNo">1727</span><a name="line.1727"></a>
+<span class="sourceLineNo">1728</span>    // TODO: Optimize balancer. pass a RegionPlan?<a name="line.1728"></a>
+<span class="sourceLineNo">1729</span>    final HashMap&lt;RegionInfo, ServerName&gt; retainMap = new HashMap&lt;&gt;();<a name="line.1729"></a>
+<span class="sourceLineNo">1730</span>    final List&lt;RegionInfo&gt; userHRIs = new ArrayList&lt;&gt;(regions.size());<a name="line.1730"></a>
+<span class="sourceLineNo">1731</span>    // Regions for system tables requiring reassignment<a name="line.1731"></a>
+<span class="sourceLineNo">1732</span>    final List&lt;RegionInfo&gt; systemHRIs = new ArrayList&lt;&gt;();<a name="line.1732"></a>
+<span class="sourceLineNo">1733</span>    for (RegionStateNode regionStateNode: regions.values()) {<a name="line.1733"></a>
+<span class="sourceLineNo">1734</span>      boolean sysTable = regionStateNode.isSystemTable();<a name="line.1734"></a>
+<span class="sourceLineNo">1735</span>      final List&lt;RegionInfo&gt; hris = sysTable? systemHRIs: userHRIs;<a name="line.1735"></a>
+<span class="sourceLineNo">1736</span>      if (regionStateNode.getRegionLocation() != null) {<a name="line.1736"></a>
+<span class="sourceLineNo">1737</span>        retainMap.put(regionStateNode.getRegionInfo(), regionStateNode.getRegionLocation());<a name="line.1737"></a>
+<span class="sourceLineNo">1738</span>      } else {<a name="line.1738"></a>
+<span class="sourceLineNo">1739</span>        hris.add(regionStateNode.getRegionInfo());<a name="line.1739"></a>
+<span class="sourceLineNo">1740</span>      }<a name="line.1740"></a>
+<span class="sourceLineNo">1741</span>    }<a name="line.1741"></a>
+<span class="sourceLineNo">1742</span><a name="line.1742"></a>
+<span class="sourceLineNo">1743</span>    // TODO: connect with the listener to invalidate the cache<a name="line.1743"></a>
+<span class="sourceLineNo">1744</span><a name="line.1744"></a>
+<span class="sourceLineNo">1745</span>    // TODO use events<a name="line.1745"></a>
+<span class="sourceLineNo">1746</span>    List&lt;ServerName&gt; servers = master.getServerManager().createDestinationServersList();<a name="line.1746"></a>
+<span class="sourceLineNo">1747</span>    for (int i = 0; servers.size() &lt; 1; ++i) {<a name="line.1747"></a>
+<span class="sourceLineNo">1748</span>      // Report every fourth time around this loop; try not to flood log.<a name="line.1748"></a>
+<span class="sourceLineNo">1749</span>      if (i % 4 == 0) {<a name="line.1749"></a>
+<span class="sourceLineNo">1750</span>        LOG.warn("No servers available; cannot place " + regions.size() + " unassigned regions.");<a name="line.1750"></a>
+<span class="sourceLineNo">1751</span>      }<a name="line.1751"></a>
+<span class="sourceLineNo">1752</span><a name="line.1752"></a>
+<span class="sourceLineNo">1753</span>      if (!isRunning()) {<a name="line.1753"></a>
+<span class="sourceLineNo">1754</span>        LOG.debug("Stopped! Dropping assign of " + regions.size() + " queued regions.");<a name="line.1754"></a>
+<span class="sourceLineNo">1755</span>        return;<a name="line.1755"></a>
+<span class="sourceLineNo">1756</span>      }<a name="line.1756"></a>
+<span class="sourceLineNo">1757</span>      Threads.sleep(250);<a name="line.1757"></a>
+<span class="sourceLineNo">1758</span>      servers = master.getServerManager().createDestinationServersList();<a name="line.1758"></a>
+<span class="sourceLineNo">1759</span>    }<a name="line.1759"></a>
+<span class="sourceLineNo">1760</span><a name="line.1760"></a>
+<span class="sourceLineNo">1761</span>    if (!systemHRIs.isEmpty()) {<a name="line.1761"></a>
+<span class="sourceLineNo">1762</span>      // System table regions requiring reassignment are present, get region servers<a name="line.1762"></a>
+<span class="sourceLineNo">1763</span>      // not available for system table regions<a name="line.1763"></a>
+<span class="sourceLineNo">1764</span>      final List&lt;ServerName&gt; excludeServers = getExcludedServersForSystemTable();<a name="line.1764"></a>
+<span class="sourceLineNo">1765</span>      List&lt;ServerName&gt; serversForSysTables = servers.stream()<a name="line.1765"></a>
+<span class="sourceLineNo">1766</span>          .filter(s -&gt; !excludeServers.contains(s)).collect(Collectors.toList());<a name="line.1766"></a>
+<span class="sourceLineNo">1767</span>      if (serversForSysTables.isEmpty()) {<a name="line.1767"></a>
+<span class="sourceLineNo">1768</span>        LOG.warn("Filtering old server versions and the excluded produced an empty set; " +<a name="line.1768"></a>
+<span class="sourceLineNo">1769</span>            "instead considering all candidate servers!");<a name="line.1769"></a>
+<span class="sourceLineNo">1770</span>      }<a name="line.1770"></a>
+<span class="sourceLineNo">1771</span>      LOG.debug("Processing assignQueue; systemServersCount=" + serversForSysTables.size() +<a name="line.1771"></a>
+<span class="sourceLineNo">1772</span>          ", allServersCount=" + servers.size());<a name="line.1772"></a>
+<span class="sourceLineNo">1773</span>      processAssignmentPlans(regions, null, systemHRIs,<a name="line.1773"></a>
+<span class="sourceLineNo">1774</span>          serversForSysTables.isEmpty()? servers: serversForSysTables);<a name="line.1774"></a>
+<span class="sourceLineNo">1775</span>    }<a name="line.1775"></a>
+<span class="sourceLineNo">1776</span><a name="line.1776"></a>
+<span class="sourceLineNo">1777</span>    processAssignmentPlans(regions, retainMap, userHRIs, servers);<a name="line.1777"></a>
+<span class="sourceLineNo">1778</span>  }<a name="line.1778"></a>
+<span class="sourceLineNo">1779</span><a name="line.1779"></a>
+<span class="sourceLineNo">1780</span>  private void processAssignmentPlans(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1780"></a>
+<span class="sourceLineNo">1781</span>      final HashMap&lt;RegionInfo, ServerName&gt; retainMap, final List&lt;RegionInfo&gt; hris,<a name="line.1781"></a>
+<span class="sourceLineNo">1782</span>      final List&lt;ServerName&gt; servers) {<a name="line.1782"></a>
+<span class="sourceLineNo">1783</span>    boolean isTraceEnabled = LOG.isTraceEnabled();<a name="line.1783"></a>
+<span class="sourceLineNo">1784</span>    if (isTraceEnabled) {<a name="line.1784"></a>
+<span class="sourceLineNo">1785</span>      LOG.trace("Available servers count=" + servers.size() + ": " + servers);<a name="line.1785"></a>
+<span class="sourceLineNo">1786</span>    }<a name="line.1786"></a>
+<span class="sourceLineNo">1787</span><a name="line.1787"></a>
+<span class="sourceLineNo">1788</span>    final LoadBalancer balancer = getBalancer();<a name="line.1788"></a>
+<span class="sourceLineNo">1789</span>    // ask the balancer where to place regions<a name="line.1789"></a>
+<span class="sourceLineNo">1790</span>    if (retainMap != null &amp;&amp; !retainMap.isEmpty()) {<a name="line.1790"></a>
+<span class="sourceLineNo">1791</span>      if (isTraceEnabled) {<a name="line.1791"></a>
+<span class="sourceLineNo">1792</span>        LOG.trace("retain assign regions=" + retainMap);<a name="line.1792"></a>
+<span class="sourceLineNo">1793</span>      }<a name="line.1793"></a>
+<span class="sourceLineNo">1794</span>      try {<a name="line.1794"></a>
+<span class="sourceLineNo">1795</span>        acceptPlan(regions, balancer.retainAssignment(retainMap, servers));<a name="line.1795"></a>
+<span class="sourceLineNo">1796</span>      } catch (HBaseIOException e) {<a name="line.1796"></a>
+<span class="sourceLineNo">1797</span>        LOG.warn("unable to retain assignment", e);<a name="line.1797"></a>
+<span class="sourceLineNo">1798</span>        addToPendingAssignment(regions, retainMap.keySet());<a name="line.1798"></a>
+<span class="sourceLineNo">1799</span>      }<a name="line.1799"></a>
+<span class="sourceLineNo">1800</span>    }<a name="line.1800"></a>
+<span class="sourceLineNo">1801</span><a name="line.1801"></a>
+<span class="sourceLineNo">1802</span>    // TODO: Do we need to split retain and round-robin?<a name="line.1802"></a>
+<span class="sourceLineNo">1803</span>    // the retain seems to fallback to round-robin/random if the region is not in the map.<a name="line.1803"></a>
+<span class="sourceLineNo">1804</span>    if (!hris.isEmpty()) {<a name="line.1804"></a>
+<span class="sourceLineNo">1805</span>      Collections.sort(hris, RegionInfo.COMPARATOR);<a name="line.1805"></a>
+<span class="sourceLineNo">1806</span>      if (isTraceEnabled) {<a name="line.1806"></a>
+<span class="sourceLineNo">1807</span>        LOG.trace("round robin regions=" + hris);<a name="line.1807"></a>
+<span class="sourceLineNo">1808</span>      }<a name="line.1808"></a>
+<span class="sourceLineNo">1809</span>      try {<a name="line.1809"></a>
+<span class="sourceLineNo">1810</span>        acceptPlan(regions, balancer.roundRobinAssignment(hris, servers));<a name="line.1810"></a>
+<span class="sourceLineNo">1811</span>      } catch (HBaseIOException e) {<a name="line.1811"></a>
+<span class="sourceLineNo">1812</span>        LOG.warn("unable to round-robin assignment", e);<a name="line.1812"></a>
+<span class="sourceLineNo">1813</span>        addToPendingAssignment(regions, hris);<a name="line.1813"></a>
+<span class="sourceLineNo">1814</span>      }<a name="line.1814"></a>
+<span class="sourceLineNo">1815</span>    }<a name="line.1815"></a>
+<span class="sourceLineNo">1816</span>  }<a name="line.1816"></a>
+<span class="sourceLineNo">1817</span><a name="line.1817"></a>
+<span class="sourceLineNo">1818</span>  private void acceptPlan(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1818"></a>
+<span class="sourceLineNo">1819</span>      final Map&lt;ServerName, List&lt;RegionInfo&gt;&gt; plan) throws HBaseIOException {<a name="line.1819"></a>
+<span class="sourceLineNo">1820</span>    final ProcedureEvent[] events = new ProcedureEvent[regions.size()];<a name="line.1820"></a>
+<span class="sourceLineNo">1821</span>    final long st = System.currentTimeMillis();<a name="line.1821"></a>
+<span class="sourceLineNo">1822</span><a name="line.1822"></a>
+<span class="sourceLineNo">1823</span>    if (plan == null) {<a name="line.1823"></a>
+<span class="sourceLineNo">1824</span>      throw new HBaseIOException("unable to compute plans for regions=" + regions.size());<a name="line.1824"></a>
+<span class="sourceLineNo">1825</span>    }<a name="line.1825"></a>
+<span class="sourceLineNo">1826</span><a name="line.1826"></a>
+<span class="sourceLineNo">1827</span>    if (plan.isEmpty()) return;<a name="line.1827"></a>
+<span class="sourceLineNo">1828</span><a name="line.1828"></a>
+<span class="sourceLineNo">1829</span>    int evcount = 0;<a name="line.1829"></a>
+<span class="sourceLineNo">1830</span>    for (Map.Entry&lt;ServerName, List&lt;RegionInfo&gt;&gt; entry: plan.entrySet()) {<a name="line.1830"></a>
+<span class="sourceLineNo">1831</span>      final ServerName server = entry.getKey();<a name="line.1831"></a>
+<span class="sourceLineNo">1832</span>      for (RegionInfo hri: entry.getValue()) {<a name="line.1832"></a>
+<span class="sourceLineNo">1833</span>        final RegionStateNode regionNode = regions.get(hri);<a name="line.1833"></a>
+<span class="sourceLineNo">1834</span>        regionNode.setRegionLocation(server);<a name="line.1834"></a>
+<span class="sourceLineNo">1835</span>        events[evcount++] = regionNode.getProcedureEvent();<a name="line.1835"></a>
+<span class="sourceLineNo">1836</span>      }<a name="line.1836"></a>
+<span class="sourceLineNo">1837</span>    }<a name="line.1837"></a>
+<span class="sourceLineNo">1838</span>    ProcedureEvent.wakeEvents(getProcedureScheduler(), events);<a name="line.1838"></a>
+<span class="sourceLineNo">1839</span><a name="line.1839"></a>
+<span class="sourceLineNo">1840</span>    final long et = System.currentTimeMillis();<a name="line.1840"></a>
+<span class="sourceLineNo">1841</span>    if (LOG.isTraceEnabled()) {<a name="line.1841"></a>
+<span class="sourceLineNo">1842</span>      LOG.trace("ASSIGN ACCEPT " + events.length + " -&gt; " +<a name="line.1842"></a>
+<span class="sourceLineNo">1843</span>          StringUtils.humanTimeDiff(et - st));<a name="line.1843"></a>
+<span class="sourceLineNo">1844</span>    }<a name="line.1844"></a>
+<span class="sourceLineNo">1845</span>  }<a name="line.1845"></a>
+<span class="sourceLineNo">1846</span><a name="line.1846"></a>
+<span class="sourceLineNo">1847</span>  private void addToPendingAssignment(final HashMap&lt;RegionInfo, RegionStateNode&gt; regions,<a name="line.1847"></a>
+<span class="sourceLineNo">1848</span>      final Collection&lt;RegionInfo&gt; pendingRegions) {<a name="line.1848"></a>
+<span class="sourceLineNo">1849</span>    assignQueueLock.lock();<a name="line.1849"></a>
+<span class="sourceLineNo">1850</span>    try {<a name="line.1850"></a>
+<span class="sourceLineNo">1851</span>      for (RegionInfo hri: pendingRegions) {<a name="line.1851"></a>
+<span class="sourceLineNo">1852</span>        pendingAssignQueue.add(regions.get(hri));<a name="line.1852"></a>
+<span class="sourceLineNo">1853</span>      }<a name="line.1853"></a>
+<span class="sourceLineNo">1854</span>    } finally {<a name="line.1854"></a>
+<span class="sourceLineNo">1855</span>      assignQueueLock.unlock();<a name="line.1855"></a>
+<span class="sourceLineNo">1856</span>    }<a name="line.1856"></a>
+<span class="sourceLineNo">1857</span>  }<a name="line.1857"></a>
+<span class="sourceLineNo">1858</span><a name="line.1858"></a>
+<span class="sourceLineNo">1859</span>  /**<a name="line.1859"></a>
+<span class="sourceLineNo">1860</span>   * Get a list of servers that this region cannot be assigned to.<a name="line.1860"></a>
+<span class="sourceLineNo">1861</span>   * For system tables, we must assign them to a server with highest version.<a name="line.1861"></a>
+<span class="sourceLineNo">1862</span>   */<a name="line.1862"></a>
+<span class="sourceLineNo">1863</span>  public List&lt;ServerName&gt; getExcludedServersForSystemTable() {<a name="line.1863"></a>
+<span class="sourceLineNo">1864</span>    // TODO: This should be a cached list kept by the ServerManager rather than calculated on each<a name="line.1864"></a>
+<span class="sourceLineNo">1865</span>    // move or system region assign. The RegionServerTracker keeps list of online Servers with<a name="line.1865"></a>
+<span class="sourceLineNo">1866</span>    // RegionServerInfo that includes Version.<a name="line.1866"></a>
+<span class="sourceLineNo">1867</span>    List&lt;Pair&lt;ServerName, String&gt;&gt; serverList = master.getServerManager().getOnlineServersList()<a name="line.1867"></a>
+<span class="sourceLineNo">1868</span>        .stream()<a name="line.1868"></a>
+<span class="sourceLineNo">1869</span>        .map((s)-&gt;new Pair&lt;&gt;(s, master.getRegionServerVersion(s)))<a name="line.1869"></a>
+<span class="sourceLineNo">1870</span>        .collect(Collectors.toList());<a name="line.1870"></a>
+<span class="sourceLineNo">1871</span>    if (serverList.isEmpty()) {<a name="line.1871"></a>
+<span class="sourceLineNo">1872</span>      return Collections.EMPTY_LIST;<a name="line.1872"></a>
+<span class="sourceLineNo">1873</span>    }<a name="line.1873"></a>
+<span class="sourceLineNo">1874</span>    String highestVersion = Collections.max(serverList,<a name="line.1874"></a>
+<span class="sourceLineNo">1875</span>        (o1, o2) -&gt; VersionInfo.compareVersion(o1.getSecond(), o2.getSecond())).getSecond();<a name="line.1875"></a>
+<span class="sourceLineNo">1876</span>    return serverList.stream()<a name="line.1876"></a>
+<span class="sourceLineNo">1877</span>        .filter((p)-&gt;!p.getSecond().equals(highestVersion))<a name="line.1877"></a>
+<span class="sourceLineNo">1878</span>        .map(Pair::getFirst)<a name="line.1878"></a>
+<span class="sourceLineNo">1879</span>        .collect(Collectors.toList());<a name="line.1879"></a>
+<span class="sourceLineNo">1880</span>  }<a name="line.1880"></a>
+<span class="sourceLineNo">1881</span><a name="line.1881"></a>
+<span class="sourceLineNo">1882</span>  // ============================================================================================<a name="line.1882"></a>
+<span class="sourceLineNo">1883</span>  //  Server Helpers<a name="line.1883"></a>
+<span class="sourceLineNo">1884</span>  // ============================================================================================<a name="line.1884"></a>
+<span class="sourceLineNo">1885</span>  @Override<a name="line.1885"></a>
+<span class="sourceLineNo">1886</span>  public void serverAdded(final ServerName serverName) {<a name="line.1886"></a>
+<span class="sourceLineNo">1887</span>  }<a name="line.1887"></a>
+<span class="sourceLineNo">1888</span><a name="line.1888"></a>
+<span class="sourceLineNo">1889</span>  @Override<a name="line.1889"></a>
+<span class="sourceLineNo">1890</span>  public void serverRemoved(final ServerName serverName) {<a name="line.1890"></a>
+<span class="sourceLineNo">1891</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1891"></a>
+<span class="sourceLineNo">1892</span>    if (serverNode == null) return;<a name="line.1892"></a>
+<span class="sourceLineNo">1893</span><a name="line.1893"></a>
+<span class="sourceLineNo">1894</span>    // just in case, wake procedures waiting for this server report<a name="line.1894"></a>
+<span class="sourceLineNo">1895</span>    wakeServerReportEvent(serverNode);<a name="line.1895"></a>
+<span class="sourceLineNo">1896</span>  }<a name="line.1896"></a>
+<span class="sourceLineNo">1897</span><a name="line.1897"></a>
+<span class="sourceLineNo">1898</span>  public int getServerVersion(final ServerName serverName) {<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>    final ServerStateNode node = regionStates.getServerNode(serverName);<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>    return node != null ? node.getVersionNumber() : 0;<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>  }<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span><a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>  public void killRegionServer(final ServerName serverName) {<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>    final ServerStateNode serverNode = regionStates.getServerNode(serverName);<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>    killRegionServer(serverNode);<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span><a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>  public void killRegionServer(final ServerStateNode serverNode) {<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>    /** Don't do this. Messes up accounting. Let ServerCrashProcedure do this.<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>    for (RegionStateNode regionNode: serverNode.getRegions()) {<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>      regionNode.offline();<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>    }*/<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>    master.getServerManager().expireServer(serverNode.getServerName());<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>  }<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span><a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>  /**<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>   * Handle RIT of meta region against crashed server.<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>   * Only used when ServerCrashProcedure is not enabled.<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>   * See handleRIT in ServerCrashProcedure for similar function.<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>   *<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>   * @param serverName Server that has already crashed<a name="line.1921"></a>
+<span class="sourceLineNo">1922</span>   */<a name="line.1922"></a>
+<span class="sourceLineNo">1923</span>  public void handleMetaRITOnCrashedServer(ServerName serverName) {<a name="line.1923"></a>
+<span class="sourceLineNo">1924</span>    RegionInfo hri = RegionReplicaUtil<a name="line.1924"></a>
+<span class="sourceLineNo">1925</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1925"></a>
+<span class="sourceLineNo">1926</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1926"></a>
+<span class="sourceLineNo">1927</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1927"></a>
+<span class="sourceLineNo">1928</span>    if (regionStateNode == null) {<a name="line.1928"></a>
+<span class="sourceLineNo">1929</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1929"></a>
+<span class="sourceLineNo">1930</span>      return;<a name="line.1930"></a>
+<span class="sourceLineNo">1931</span>    }<a name="line.1931"></a>
+<span class="sourceLineNo">1932</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1932"></a>
+<span class="sourceLineNo">1933</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1933"></a>
+<span class="sourceLineNo">1934</span>      return;<a name="line.1934"></a>
+<span class="sourceLineNo">1935</span>    } else if (rsnServerName == null) {<a name="line.1935"></a>
+<span class="sourceLineNo">1936</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1936"></a>
+<span class="sourceLineNo">1937</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1937"></a>
+<span class="sourceLineNo">1938</span>    }<a name="line.1938"></a>
+<span class="sourceLineNo">1939</span>    // meta has been assigned to crashed server.<a name="line.1939"></a>
+<span class="sourceLineNo">1940</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1940"></a>
+<span class="sourceLineNo">1941</span>    // Handle failure and wake event<a name="line.1941"></a>
+<span class="sourceLineNo">1942</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1942"></a>
+<span class="sourceLineNo">1943</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1943"></a>
+<span class="sourceLineNo">1944</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1944"></a>
+<span class="sourceLineNo">1945</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1945"></a>
+<span class="sourceLineNo">1946</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1946"></a>
+<span class="sourceLineNo">1947</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1947"></a>
+<span class="sourceLineNo">1948</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1948"></a>
+<span class="sourceLineNo">1949</span>    }<a name="line.1949"></a>
+<span class="sourceLineNo">1950</span>  }<a name="line.1950"></a>
+<span class="sourceLineNo">1951</span>}<a name="line.1951"></a>
 
 
 


[17/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html
index df5fa53..8fffb89 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.CollectAllVisitor.html
@@ -42,1927 +42,2060 @@
 <span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.conf.Configuration;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Get;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Put;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.Result;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.Table;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.slf4j.Logger;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.slf4j.LoggerFactory;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.82"></a>
-<span class="sourceLineNo">083</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.83"></a>
-<span class="sourceLineNo">084</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.84"></a>
-<span class="sourceLineNo">085</span> * AssignmentManager) we want permanent connection.<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * &lt;/p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * called default replica.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;pre&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * For each table there is single row in column family 'table' formatted:<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * table: state             =&gt; contains table state<a name="line.98"></a>
-<span class="sourceLineNo">099</span> *<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * For each table range, there is a single row, formatted like:<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * This row corresponds to the regionName of the default region replica.<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * Columns are:<a name="line.103"></a>
-<span class="sourceLineNo">104</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.104"></a>
-<span class="sourceLineNo">105</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *                            the default regionInfo replica<a name="line.106"></a>
-<span class="sourceLineNo">107</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *                                 the regionInfo replica with replicaId<a name="line.108"></a>
-<span class="sourceLineNo">109</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *                            hosting the default regionInfo replica<a name="line.110"></a>
-<span class="sourceLineNo">111</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.111"></a>
-<span class="sourceLineNo">112</span> *                                          the server hosting the regionInfo replica with<a name="line.112"></a>
-<span class="sourceLineNo">113</span> *                                          replicaId<a name="line.113"></a>
-<span class="sourceLineNo">114</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.114"></a>
-<span class="sourceLineNo">115</span> *                             the server opened the region with default replicaId<a name="line.115"></a>
-<span class="sourceLineNo">116</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.116"></a>
-<span class="sourceLineNo">117</span> *                                           at the time the server opened the region with<a name="line.117"></a>
-<span class="sourceLineNo">118</span> *                                           replicaId<a name="line.118"></a>
-<span class="sourceLineNo">119</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.119"></a>
-<span class="sourceLineNo">120</span> *                             region is split<a name="line.120"></a>
-<span class="sourceLineNo">121</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.121"></a>
-<span class="sourceLineNo">122</span> *                             region is split<a name="line.122"></a>
-<span class="sourceLineNo">123</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.123"></a>
-<span class="sourceLineNo">124</span> *                             region is the result of a merge<a name="line.124"></a>
-<span class="sourceLineNo">125</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.125"></a>
-<span class="sourceLineNo">126</span> *                             region is the result of a merge<a name="line.126"></a>
-<span class="sourceLineNo">127</span> * &lt;/pre&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> * &lt;/p&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span> * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.130"></a>
-<span class="sourceLineNo">131</span> * leak out of it (through Result objects, etc)<a name="line.131"></a>
-<span class="sourceLineNo">132</span> * &lt;/p&gt;<a name="line.132"></a>
-<span class="sourceLineNo">133</span> */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>@InterfaceAudience.Private<a name="line.134"></a>
-<span class="sourceLineNo">135</span>public class MetaTableAccessor {<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.138"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  static final byte [] META_REGION_PREFIX;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  static {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    META_REGION_PREFIX = new byte [len];<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      META_REGION_PREFIX, 0, len);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * Lists all of the table regions currently in META.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Deprecated, keep there until some test use this.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @param connection what we will use<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @param tableName table to list<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * @return Map of all user-space regions to servers<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        RegionLocations locations = getRegionLocations(result);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (locations == null) return true;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          if (loc != null) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public enum QueryType {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    private final byte[][] families;<a name="line.186"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>    QueryType(byte[]... families) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return this.families;<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><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.198"></a>
+<span class="sourceLineNo">188</span>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  ////////////////////////<a name="line.206"></a>
+<span class="sourceLineNo">200</span>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @param connection connection we're using<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static void fullScanRegions(Connection connection,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      final Visitor visitor)<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      throws IOException {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param connection connection we're using<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      throws IOException {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @param connection connection we're using<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static void fullScanTables(Connection connection,<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      final Visitor visitor)<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * @param connection connection we're using<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * @param type scanned part of meta<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   * @return List of {@link Result}<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    scanMeta(connection, null, null, type, v);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * @param connection connection we're using to access Meta<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public static Table getMetaHTable(final Connection connection)<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  throws IOException {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (connection == null) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throw new NullPointerException("No connection");<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    } else if (connection.isClosed()) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      throw new IOException("connection is closed");<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    return connection.getTable(TableName.META_TABLE_NAME);<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>   * @param t Table to use (will be closed when done).<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * @param g Get to run<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    if (t == null) return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      return t.get(g);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } finally {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      t.close();<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>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Gets the region info and assignment for the specified region.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * @param connection connection we're using<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   * @param regionName Region to lookup.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Deprecated<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    throws IOException {<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    return location == null<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      ? null<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.298"></a>
-<span class="sourceLineNo">299</span>   * @param connection connection we're using<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * @param regionName region we're looking for<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return HRegionLocation for the given region<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      throws IOException {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    byte[] row = regionName;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    RegionInfo parsedInfo = null;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    try {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    } catch (Exception parseEx) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    }<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    Get get = new Get(row);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    Result r = get(getMetaHTable(connection), get);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    RegionLocations locations = getRegionLocations(r);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    return locations == null ? null<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * @param connection connection we're using<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * @param regionInfo region information<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return HRegionLocation for the given region<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Get get = new Get(row);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Result r = get(getMetaHTable(connection), get);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * in the regionName.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>              .setStartKey(fields[1])<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              .setEndKey(fields[2])<a name="line.351"></a>
-<span class="sourceLineNo">352</span>              .setSplit(false)<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              .setRegionId(regionId)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>              .setReplicaId(replicaId)<a name="line.354"></a>
-<span class="sourceLineNo">355</span>              .build();<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>  /**<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * Gets the result in hbase:meta for the specified region.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * @param connection connection we're using<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * @param regionName region we're looking for<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @return result of the specified region<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   */<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static Result getRegionResult(Connection connection,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      byte[] regionName) throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    Get get = new Get(regionName);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @Nullable<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    Result result = getRegionResult(connection, regionName);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return null;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * the specified server.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   * @param connection connection we're using<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param tableName table to check<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @return true if the table exists in meta, false if not<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public static boolean tableExists(Connection connection,<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      final TableName tableName)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  throws IOException {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // Catalog tables always exist.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param connection to connect with<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * @return List of all user-space regions.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  @VisibleForTesting<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      boolean excludeOfflinedSplitParents)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.414"></a>
-<span class="sourceLineNo">415</span><a name="line.415"></a>
-<span class="sourceLineNo">416</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        excludeOfflinedSplitParents);<a name="line.417"></a>
-<span class="sourceLineNo">418</span><a name="line.418"></a>
-<span class="sourceLineNo">419</span>    return getListOfRegionInfos(result);<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>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * @param connection connection we're using<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * @param tableName table we're looking for<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.430"></a>
-<span class="sourceLineNo">431</span>  throws IOException {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param connection connection we're using<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @param tableName table we're looking for<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * parents in the return.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return getListOfRegionInfos(result);<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>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return Collections.emptyList();<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      result.add(pair.getFirst());<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    return result;<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>  /**<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * @param tableName table we're working with<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * @return start row for scanning META according to query type<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (tableName == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return null;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    switch (type) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    case REGION:<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      return startRow;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    case ALL:<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    case TABLE:<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    default:<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      return tableName.getName();<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>  /**<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param tableName table we're working with<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @return stop row for scanning META according to query type<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (tableName == null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      return null;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    final byte[] stopRow;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    switch (type) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    case REGION:<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      break;<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    case ALL:<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    case TABLE:<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    default:<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      break;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    return stopRow;<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>   * This method creates a Scan object that will only scan catalog rows that<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * This is a better alternative to just using a start row and scan until<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.517"></a>
-<span class="sourceLineNo">518</span>   * name.<a name="line.518"></a>
-<span class="sourceLineNo">519</span>   * @param tableName bytes of table's name<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * @return configured Scan object<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   */<a name="line.521"></a>
-<span class="sourceLineNo">522</span>  @Deprecated<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    // Start key is just the table name with delimiters<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    // Stop key appends the smallest possible char to the table name<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    Scan scan = getMetaScan(connection, -1);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    scan.setStartRow(startKey);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    scan.setStopRow(stopKey);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    return scan;<a name="line.532"></a>
-<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>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    Scan scan = new Scan();<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    int scannerCaching = connection.getConfiguration()<a name="line.537"></a>
-<span class="sourceLineNo">538</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.538"></a>
-<span class="sourceLineNo">539</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (rowUpperLimit &gt; 0) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      scan.setLimit(rowUpperLimit);<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    scan.setCaching(scannerCaching);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param connection connection we're using<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * @param tableName table we're looking for<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * @return Return list of regioninfos and server.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @throws IOException<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   */<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return getTableRegionsAndLocations(connection, tableName, true);<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param connection connection we're using<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return Return list of regioninfos and server addresses.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @throws IOException<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   */<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      Connection connection, @Nullable final TableName tableName,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        + " use MetaTableLocator instead");<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.580"></a>
-<span class="sourceLineNo">581</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        private RegionLocations current = null;<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>        @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        public boolean visit(Result r) throws IOException {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>          current = getRegionLocations(r);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>            return true;<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Else call super and add this Result to the collection.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          return super.visit(r);<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>        @Override<a name="line.597"></a>
-<span class="sourceLineNo">598</span>        void add(Result r) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>          if (current == null) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>            return;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>          }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>            if (loc != null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    scanMeta(connection,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        QueryType.REGION, visitor);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    return visitor.getResults();<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>  /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param connection connection we're using<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param serverName server whose regions we're interested in<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @return List of user regions installed on this server (does not include<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * catalog regions).<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @throws IOException<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    // servername.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      @Override<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      void add(Result r) {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>        if (r == null || r.isEmpty()) return;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>        RegionLocations locations = getRegionLocations(r);<a name="line.633"></a>
-<span class="sourceLineNo">634</span>        if (locations == null) return;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          if (loc != null) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>              hris.put(loc.getRegion(), r);<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>      }<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    };<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    return hris;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  }<a name="line.646"></a>
-<span class="sourceLineNo">647</span><a name="line.647"></a>
-<span class="sourceLineNo">648</span>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    throws IOException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    Visitor v = new Visitor() {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      @Override<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      public boolean visit(Result r) throws IOException {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        TableState state = getTableState(r);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>        if (state != null) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>          LOG.info("Table State: " + state);<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        } else {<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          RegionLocations locations = getRegionLocations(r);<a name="line.659"></a>
-<span class="sourceLineNo">660</span>          if (locations == null) return true;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>            if (loc != null) {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        }<a name="line.666"></a>
-<span class="sourceLineNo">667</span>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.680"></a>
-<span class="sourceLineNo">681</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Performs a scan of META table for given table starting from<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * given row.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   *<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param connection connection we're using<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param visitor    visitor to call<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableName  table withing we scan<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param row        start scan from this row<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * @param rowLimit   max number of rows to return<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @throws IOException<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
-<span class="sourceLineNo">701</span>  public static void scanMeta(Connection connection,<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      final Visitor visitor, final TableName tableName,<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final byte[] row, final int rowLimit)<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      throws IOException {<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>    byte[] startRow = null;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    byte[] stopRow = null;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    if (tableName != null) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      startRow =<a name="line.709"></a>
-<span class="sourceLineNo">710</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      if (row != null) {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        RegionInfo closestRi =<a name="line.712"></a>
-<span class="sourceLineNo">713</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        startRow = RegionInfo<a name="line.714"></a>
-<span class="sourceLineNo">715</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      }<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      stopRow =<a name="line.717"></a>
-<span class="sourceLineNo">718</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<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><a name="line.723"></a>
-<span class="sourceLineNo">724</span>  /**<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   * Performs a scan of META table.<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * @param connection connection we're using<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   *                 at first row.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param stopRow Where to stop the scan. Pass null if want to sca

<TRUNCATED>

[13/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html
new file mode 100644
index 0000000..8fffb89
--- /dev/null
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/MetaTableAccessor.ReplicationBarrierResult.html
@@ -0,0 +1,2162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import edu.umd.cs.findbugs.annotations.NonNull;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import edu.umd.cs.findbugs.annotations.Nullable;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.Closeable;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.InterruptedIOException;<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.Collections;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.LinkedHashMap;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.List;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Map;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.NavigableMap;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Set;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.SortedMap;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.TreeMap;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.regex.Matcher;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.stream.Collectors;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.stream.Stream;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.Cell.Type;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Consistency;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.client.Get;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.client.Put;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.client.RegionServerCallable;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.client.Result;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ResultScanner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Table;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.protobuf.ProtobufUtil;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsRequest;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.protobuf.generated.MultiRowMutationProtos.MutateRowsResponse;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.ExceptionUtil;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.PairOfSameType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.slf4j.Logger;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.slf4j.LoggerFactory;<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * &lt;p&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span> * Read/write operations on region and assignment information store in &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * &lt;/p&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * &lt;p&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * because when used on client-side (like from HBaseAdmin), we want to use short-living connection<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * (opened before each operation, closed right after), while when used on HM or HRS (like in<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * AssignmentManager) we want permanent connection.<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * &lt;/p&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * range (table, startKey, endKey). For every range, there will be at least one HRI defined which is<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * called default replica.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;/p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * Meta layout (as of 0.98 + HBASE-10070) is like:<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;pre&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * For each table there is single row in column family 'table' formatted:<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * &amp;lt;tableName&amp;gt; including namespace and columns are:<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * table: state             =&gt; contains table state<a name="line.101"></a>
+<span class="sourceLineNo">102</span> *<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * For each table range, there is a single row, formatted like:<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &amp;lt;tableName&amp;gt;,&amp;lt;startKey&amp;gt;,&amp;lt;regionId&amp;gt;,&amp;lt;encodedRegionName&amp;gt;.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * This row corresponds to the regionName of the default region replica.<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * Columns are:<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * info:regioninfo         =&gt; contains serialized HRI for the default region replica<a name="line.107"></a>
+<span class="sourceLineNo">108</span> * info:server             =&gt; contains hostname:port (in string form) for the server hosting<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *                            the default regionInfo replica<a name="line.109"></a>
+<span class="sourceLineNo">110</span> * info:server_&amp;lt;replicaId&amp;gt =&gt; contains hostname:port (in string form) for the server hosting<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *                                 the regionInfo replica with replicaId<a name="line.111"></a>
+<span class="sourceLineNo">112</span> * info:serverstartcode    =&gt; contains server start code (in binary long form) for the server<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *                            hosting the default regionInfo replica<a name="line.113"></a>
+<span class="sourceLineNo">114</span> * info:serverstartcode_&amp;lt;replicaId&amp;gt =&gt; contains server start code (in binary long form) for<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *                                          the server hosting the regionInfo replica with<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *                                          replicaId<a name="line.116"></a>
+<span class="sourceLineNo">117</span> * info:seqnumDuringOpen   =&gt; contains seqNum (in binary long form) for the region at the time<a name="line.117"></a>
+<span class="sourceLineNo">118</span> *                             the server opened the region with default replicaId<a name="line.118"></a>
+<span class="sourceLineNo">119</span> * info:seqnumDuringOpen_&amp;lt;replicaId&amp;gt =&gt; contains seqNum (in binary long form) for the region<a name="line.119"></a>
+<span class="sourceLineNo">120</span> *                                           at the time the server opened the region with<a name="line.120"></a>
+<span class="sourceLineNo">121</span> *                                           replicaId<a name="line.121"></a>
+<span class="sourceLineNo">122</span> * info:splitA             =&gt; contains a serialized HRI for the first daughter region if the<a name="line.122"></a>
+<span class="sourceLineNo">123</span> *                             region is split<a name="line.123"></a>
+<span class="sourceLineNo">124</span> * info:splitB             =&gt; contains a serialized HRI for the second daughter region if the<a name="line.124"></a>
+<span class="sourceLineNo">125</span> *                             region is split<a name="line.125"></a>
+<span class="sourceLineNo">126</span> * info:mergeA             =&gt; contains a serialized HRI for the first parent region if the<a name="line.126"></a>
+<span class="sourceLineNo">127</span> *                             region is the result of a merge<a name="line.127"></a>
+<span class="sourceLineNo">128</span> * info:mergeB             =&gt; contains a serialized HRI for the second parent region if the<a name="line.128"></a>
+<span class="sourceLineNo">129</span> *                             region is the result of a merge<a name="line.129"></a>
+<span class="sourceLineNo">130</span> * &lt;/pre&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span> * &lt;/p&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span> * &lt;p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span> * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not<a name="line.133"></a>
+<span class="sourceLineNo">134</span> * leak out of it (through Result objects, etc)<a name="line.134"></a>
+<span class="sourceLineNo">135</span> * &lt;/p&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span> */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>@InterfaceAudience.Private<a name="line.137"></a>
+<span class="sourceLineNo">138</span>public class MetaTableAccessor {<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  private static final Logger LOG = LoggerFactory.getLogger(MetaTableAccessor.class);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  private static final Logger METALOG = LoggerFactory.getLogger("org.apache.hadoop.hbase.META");<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private static final byte[] META_REGION_PREFIX;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  static {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // Copy the prefix from FIRST_META_REGIONINFO into META_REGION_PREFIX.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    // FIRST_META_REGIONINFO == 'hbase:meta,,1'.  META_REGION_PREFIX == 'hbase:meta,'<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int len = RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName().length - 2;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    META_REGION_PREFIX = new byte [len];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    System.arraycopy(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), 0,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      META_REGION_PREFIX, 0, len);<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>  private static final byte[] REPLICATION_PARENT_QUALIFIER = Bytes.toBytes("parent");<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  private static final String REPLICATION_PARENT_SEPARATOR = "|";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  private static final String REPLICATION_PARENT_SEPARATOR_REGEX = "\\|";<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * Lists all of the table regions currently in META.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Deprecated, keep there until some test use this.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param connection what we will use<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param tableName table to list<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return Map of all user-space regions to servers<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * @deprecated use {@link #getTableRegionsAndLocations}, region can have multiple locations<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Deprecated<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static NavigableMap&lt;RegionInfo, ServerName&gt; allTableRegions(<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      Connection connection, final TableName tableName) throws IOException {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    final NavigableMap&lt;RegionInfo, ServerName&gt; regions = new TreeMap&lt;&gt;();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    Visitor visitor = new TableVisitorBase(tableName) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      public boolean visitInternal(Result result) throws IOException {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        RegionLocations locations = getRegionLocations(result);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        if (locations == null) return true;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          if (loc != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            RegionInfo regionInfo = loc.getRegionInfo();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            regions.put(regionInfo, loc.getServerName());<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>        return true;<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>    scanMetaForTableRegions(connection, visitor, tableName);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return regions;<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>  @InterfaceAudience.Private<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  public enum QueryType {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    ALL(HConstants.TABLE_FAMILY, HConstants.CATALOG_FAMILY),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    REGION(HConstants.CATALOG_FAMILY),<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    TABLE(HConstants.TABLE_FAMILY);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private final byte[][] families;<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    QueryType(byte[]... families) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      this.families = families;<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>    byte[][] getFamilies() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return this.families;<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>  /** The delimiter for meta columns for replicaIds &amp;gt; 0 */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected static final char META_REPLICA_ID_DELIMITER = '_';<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  /** A regex for parsing server columns from meta. See above javadoc for meta layout */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private static final Pattern SERVER_COLUMN_PATTERN<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    = Pattern.compile("^server(_[0-9a-fA-F]{4})?$");<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>  // Reading operations //<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * @param connection connection we're using<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   * @param visitor Visitor invoked against each row in regions family.<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   */<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  public static void fullScanRegions(Connection connection,<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      final Visitor visitor)<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      throws IOException {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    scanMeta(connection, null, null, QueryType.REGION, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for regions.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * @param connection connection we're using<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   */<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  public static List&lt;Result&gt; fullScanRegions(Connection connection)<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      throws IOException {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return fullScan(connection, QueryType.REGION);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt; for tables.<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * @param connection connection we're using<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * @param visitor Visitor invoked against each row in tables family.<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  public static void fullScanTables(Connection connection,<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      final Visitor visitor)<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      throws IOException {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    scanMeta(connection, null, null, QueryType.TABLE, visitor);<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>   * Performs a full scan of &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * @param connection connection we're using<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * @param type scanned part of meta<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @return List of {@link Result}<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public static List&lt;Result&gt; fullScan(Connection connection, QueryType type)<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    throws IOException {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    CollectAllVisitor v = new CollectAllVisitor();<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    scanMeta(connection, null, null, type, v);<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    return v.getResults();<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>   * Callers should call close on the returned {@link Table} instance.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * @param connection connection we're using to access Meta<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * @return An {@link Table} for &lt;code&gt;hbase:meta&lt;/code&gt;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  public static Table getMetaHTable(final Connection connection)<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  throws IOException {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    // We used to pass whole CatalogTracker in here, now we just pass in Connection<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    if (connection == null) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      throw new NullPointerException("No connection");<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    } else if (connection.isClosed()) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      throw new IOException("connection is closed");<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return connection.getTable(TableName.META_TABLE_NAME);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  /**<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * @param t Table to use (will be closed when done).<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * @param g Get to run<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   */<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private static Result get(final Table t, final Get g) throws IOException {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    if (t == null) return null;<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    try {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      return t.get(g);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    } finally {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      t.close();<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>  /**<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   * Gets the region info and assignment for the specified region.<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   * @param connection connection we're using<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * @param regionName Region to lookup.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>   * @return Location and RegionInfo for &lt;code&gt;regionName&lt;/code&gt;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * @deprecated use {@link #getRegionLocation(Connection, byte[])} instead<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  @Deprecated<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public static Pair&lt;RegionInfo, ServerName&gt; getRegion(Connection connection, byte [] regionName)<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    HRegionLocation location = getRegionLocation(connection, regionName);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    return location == null<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      ? null<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      : new Pair&lt;&gt;(location.getRegionInfo(), location.getServerName());<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>   * Returns the HRegionLocation from meta for the given region<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   * @param connection connection we're using<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * @param regionName region we're looking for<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * @return HRegionLocation for the given region<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public static HRegionLocation getRegionLocation(Connection connection, byte[] regionName)<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    byte[] row = regionName;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    RegionInfo parsedInfo = null;<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    try {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      parsedInfo = parseRegionInfoFromRegionName(regionName);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      row = getMetaKeyForRegion(parsedInfo);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    } catch (Exception parseEx) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      // Ignore. This is used with tableName passed as regionName.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    Get get = new Get(row);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    Result r = get(getMetaHTable(connection), get);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    RegionLocations locations = getRegionLocations(r);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    return locations == null ? null<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      : locations.getRegionLocation(parsedInfo == null ? 0 : parsedInfo.getReplicaId());<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>  /**<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * Returns the HRegionLocation from meta for the given region<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * @param connection connection we're using<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * @param regionInfo region information<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * @return HRegionLocation for the given region<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  public static HRegionLocation getRegionLocation(Connection connection, RegionInfo regionInfo)<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      throws IOException {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    byte[] row = getMetaKeyForRegion(regionInfo);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    Get get = new Get(row);<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    Result r = get(getMetaHTable(connection), get);<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    return getRegionLocation(r, regionInfo, regionInfo.getReplicaId());<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>  /** Returns the row key to use for this regionInfo */<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  public static byte[] getMetaKeyForRegion(RegionInfo regionInfo) {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    return RegionReplicaUtil.getRegionInfoForDefaultReplica(regionInfo).getRegionName();<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>  /** Returns an HRI parsed from this regionName. Not all the fields of the HRI<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * is stored in the name, so the returned object should only be used for the fields<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * in the regionName.<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   */<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  public static RegionInfo parseRegionInfoFromRegionName(byte[] regionName) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    byte[][] fields = RegionInfo.parseRegionName(regionName);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    long regionId = Long.parseLong(Bytes.toString(fields[2]));<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    int replicaId = fields.length &gt; 3 ? Integer.parseInt(Bytes.toString(fields[3]), 16) : 0;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    return RegionInfoBuilder.newBuilder(TableName.valueOf(fields[0]))<a name="line.357"></a>
+<span class="sourceLineNo">358</span>              .setStartKey(fields[1])<a name="line.358"></a>
+<span class="sourceLineNo">359</span>              .setEndKey(fields[2])<a name="line.359"></a>
+<span class="sourceLineNo">360</span>              .setSplit(false)<a name="line.360"></a>
+<span class="sourceLineNo">361</span>              .setRegionId(regionId)<a name="line.361"></a>
+<span class="sourceLineNo">362</span>              .setReplicaId(replicaId)<a name="line.362"></a>
+<span class="sourceLineNo">363</span>              .build();<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>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Gets the result in hbase:meta for the specified region.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @param connection connection we're using<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @param regionName region we're looking for<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @return result of the specified region<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  public static Result getRegionResult(Connection connection,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      byte[] regionName) throws IOException {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    Get get = new Get(regionName);<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    get.addFamily(HConstants.CATALOG_FAMILY);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    return get(getMetaHTable(connection), get);<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>  /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * Get regions from the merge qualifier of the specified merged region<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @return null if it doesn't contain merge qualifier, else two merge regions<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   */<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  @Nullable<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  public static Pair&lt;RegionInfo, RegionInfo&gt; getRegionsFromMergeQualifier(<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      Connection connection, byte[] regionName) throws IOException {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    Result result = getRegionResult(connection, regionName);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    RegionInfo mergeA = getRegionInfo(result, HConstants.MERGEA_QUALIFIER);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    RegionInfo mergeB = getRegionInfo(result, HConstants.MERGEB_QUALIFIER);<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    if (mergeA == null &amp;&amp; mergeB == null) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      return null;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    }<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    return new Pair&lt;&gt;(mergeA, mergeB);<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>  /**<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * Checks if the specified table exists.  Looks at the hbase:meta table hosted on<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * the specified server.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * @param connection connection we're using<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * @param tableName table to check<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @return true if the table exists in meta, false if not<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   */<a name="line.401"></a>
+<span class="sourceLineNo">402</span>  public static boolean tableExists(Connection connection,<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      final TableName tableName)<a name="line.403"></a>
+<span class="sourceLineNo">404</span>  throws IOException {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    // Catalog tables always exist.<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return tableName.equals(TableName.META_TABLE_NAME)<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        || getTableState(connection, tableName) != null;<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>   * Lists all of the regions currently in META.<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   *<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * @param connection to connect with<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * @param excludeOfflinedSplitParents False if we are to include offlined/splitparents regions,<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   *                                    true and we'll leave out offlined regions from returned list<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @return List of all user-space regions.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   */<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  @VisibleForTesting<a name="line.418"></a>
+<span class="sourceLineNo">419</span>  public static List&lt;RegionInfo&gt; getAllRegions(Connection connection,<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      boolean excludeOfflinedSplitParents)<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      throws IOException {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result;<a name="line.422"></a>
+<span class="sourceLineNo">423</span><a name="line.423"></a>
+<span class="sourceLineNo">424</span>    result = getTableRegionsAndLocations(connection, null,<a name="line.424"></a>
+<span class="sourceLineNo">425</span>        excludeOfflinedSplitParents);<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span>    return getListOfRegionInfos(result);<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><a name="line.430"></a>
+<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   * @param connection connection we're using<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * @param tableName table we're looking for<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   */<a name="line.437"></a>
+<span class="sourceLineNo">438</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName)<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  throws IOException {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    return getTableRegions(connection, tableName, false);<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>  /**<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * Gets all of the regions of the specified table. Do not use this method<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * to get meta table regions, use methods in MetaTableLocator instead.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @param connection connection we're using<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @param tableName table we're looking for<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * @param excludeOfflinedSplitParents If true, do not include offlined split<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * parents in the return.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @return Ordered list of {@link RegionInfo}.<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   */<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  public static List&lt;RegionInfo&gt; getTableRegions(Connection connection, TableName tableName,<a name="line.452"></a>
+<span class="sourceLineNo">453</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; result =<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      getTableRegionsAndLocations(connection, tableName, excludeOfflinedSplitParents);<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    return getListOfRegionInfos(result);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  }<a name="line.457"></a>
+<span class="sourceLineNo">458</span><a name="line.458"></a>
+<span class="sourceLineNo">459</span>  private static List&lt;RegionInfo&gt; getListOfRegionInfos(<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      final List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; pairs) {<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    if (pairs == null || pairs.isEmpty()) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      return Collections.emptyList();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    }<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    List&lt;RegionInfo&gt; result = new ArrayList&lt;&gt;(pairs.size());<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    for (Pair&lt;RegionInfo, ServerName&gt; pair : pairs) {<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      result.add(pair.getFirst());<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    }<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    return result;<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>   * @param tableName table we're working with<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * @return start row for scanning META according to query type<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   */<a name="line.474"></a>
+<span class="sourceLineNo">475</span>  public static byte[] getTableStartRowForMeta(TableName tableName, QueryType type) {<a name="line.475"></a>
+<span class="sourceLineNo">476</span>    if (tableName == null) {<a name="line.476"></a>
+<span class="sourceLineNo">477</span>      return null;<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    }<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    switch (type) {<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    case REGION:<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      byte[] startRow = new byte[tableName.getName().length + 2];<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      System.arraycopy(tableName.getName(), 0, startRow, 0, tableName.getName().length);<a name="line.482"></a>
+<span class="sourceLineNo">483</span>      startRow[startRow.length - 2] = HConstants.DELIMITER;<a name="line.483"></a>
+<span class="sourceLineNo">484</span>      startRow[startRow.length - 1] = HConstants.DELIMITER;<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      return startRow;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    case ALL:<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    case TABLE:<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    default:<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      return tableName.getName();<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>  /**<a name="line.493"></a>
+<span class="sourceLineNo">494</span>   * @param tableName table we're working with<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   * @return stop row for scanning META according to query type<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
+<span class="sourceLineNo">497</span>  public static byte[] getTableStopRowForMeta(TableName tableName, QueryType type) {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>    if (tableName == null) {<a name="line.498"></a>
+<span class="sourceLineNo">499</span>      return null;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    final byte[] stopRow;<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    switch (type) {<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    case REGION:<a name="line.503"></a>
+<span class="sourceLineNo">504</span>      stopRow = new byte[tableName.getName().length + 3];<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      stopRow[stopRow.length - 3] = ' ';<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      stopRow[stopRow.length - 2] = HConstants.DELIMITER;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      stopRow[stopRow.length - 1] = HConstants.DELIMITER;<a name="line.508"></a>
+<span class="sourceLineNo">509</span>      break;<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    case ALL:<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    case TABLE:<a name="line.511"></a>
+<span class="sourceLineNo">512</span>    default:<a name="line.512"></a>
+<span class="sourceLineNo">513</span>      stopRow = new byte[tableName.getName().length + 1];<a name="line.513"></a>
+<span class="sourceLineNo">514</span>      System.arraycopy(tableName.getName(), 0, stopRow, 0, tableName.getName().length);<a name="line.514"></a>
+<span class="sourceLineNo">515</span>      stopRow[stopRow.length - 1] = ' ';<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      break;<a name="line.516"></a>
+<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    return stopRow;<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>  /**<a name="line.521"></a>
+<span class="sourceLineNo">522</span>   * This method creates a Scan object that will only scan catalog rows that<a name="line.522"></a>
+<span class="sourceLineNo">523</span>   * belong to the specified table. It doesn't specify any columns.<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * This is a better alternative to just using a start row and scan until<a name="line.524"></a>
+<span class="sourceLineNo">525</span>   * it hits a new table since that requires parsing the HRI to get the table<a name="line.525"></a>
+<span class="sourceLineNo">526</span>   * name.<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   * @param tableName bytes of table's name<a name="line.527"></a>
+<span class="sourceLineNo">528</span>   * @return configured Scan object<a name="line.528"></a>
+<span class="sourceLineNo">529</span>   */<a name="line.529"></a>
+<span class="sourceLineNo">530</span>  @Deprecated<a name="line.530"></a>
+<span class="sourceLineNo">531</span>  public static Scan getScanForTableName(Connection connection, TableName tableName) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    // Start key is just the table name with delimiters<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    byte[] startKey = getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.533"></a>
+<span class="sourceLineNo">534</span>    // Stop key appends the smallest possible char to the table name<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    byte[] stopKey = getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.535"></a>
+<span class="sourceLineNo">536</span><a name="line.536"></a>
+<span class="sourceLineNo">537</span>    Scan scan = getMetaScan(connection, -1);<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    scan.setStartRow(startKey);<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    scan.setStopRow(stopKey);<a name="line.539"></a>
+<span class="sourceLineNo">540</span>    return scan;<a name="line.540"></a>
+<span class="sourceLineNo">541</span>  }<a name="line.541"></a>
+<span class="sourceLineNo">542</span><a name="line.542"></a>
+<span class="sourceLineNo">543</span>  private static Scan getMetaScan(Connection connection, int rowUpperLimit) {<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    Scan scan = new Scan();<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    int scannerCaching = connection.getConfiguration()<a name="line.545"></a>
+<span class="sourceLineNo">546</span>        .getInt(HConstants.HBASE_META_SCANNER_CACHING,<a name="line.546"></a>
+<span class="sourceLineNo">547</span>            HConstants.DEFAULT_HBASE_META_SCANNER_CACHING);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    if (connection.getConfiguration().getBoolean(HConstants.USE_META_REPLICAS,<a name="line.548"></a>
+<span class="sourceLineNo">549</span>        HConstants.DEFAULT_USE_META_REPLICAS)) {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>      scan.setConsistency(Consistency.TIMELINE);<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    if (rowUpperLimit &gt; 0) {<a name="line.552"></a>
+<span class="sourceLineNo">553</span>      scan.setLimit(rowUpperLimit);<a name="line.553"></a>
+<span class="sourceLineNo">554</span>      scan.setReadType(Scan.ReadType.PREAD);<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    }<a name="line.555"></a>
+<span class="sourceLineNo">556</span>    scan.setCaching(scannerCaching);<a name="line.556"></a>
+<span class="sourceLineNo">557</span>    return scan;<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>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * @param connection connection we're using<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   * @param tableName table we're looking for<a name="line.562"></a>
+<span class="sourceLineNo">563</span>   * @return Return list of regioninfos and server.<a name="line.563"></a>
+<span class="sourceLineNo">564</span>   * @throws IOException<a name="line.564"></a>
+<span class="sourceLineNo">565</span>   */<a name="line.565"></a>
+<span class="sourceLineNo">566</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    getTableRegionsAndLocations(Connection connection, TableName tableName)<a name="line.567"></a>
+<span class="sourceLineNo">568</span>      throws IOException {<a name="line.568"></a>
+<span class="sourceLineNo">569</span>    return getTableRegionsAndLocations(connection, tableName, true);<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">573</span>   * Do not use this method to get meta table regions, use methods in MetaTableLocator instead.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * @param connection connection we're using<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * @param tableName table to work with, can be null for getting all regions<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * @param excludeOfflinedSplitParents don't return split parents<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @return Return list of regioninfos and server addresses.<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @throws IOException<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   */<a name="line.579"></a>
+<span class="sourceLineNo">580</span>  public static List&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; getTableRegionsAndLocations(<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      Connection connection, @Nullable final TableName tableName,<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      final boolean excludeOfflinedSplitParents) throws IOException {<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    if (tableName != null &amp;&amp; tableName.equals(TableName.META_TABLE_NAME)) {<a name="line.583"></a>
+<span class="sourceLineNo">584</span>      throw new IOException("This method can't be used to locate meta regions;"<a name="line.584"></a>
+<span class="sourceLineNo">585</span>        + " use MetaTableLocator instead");<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    }<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    // Make a version of CollectingVisitor that collects RegionInfo and ServerAddress<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt; visitor =<a name="line.588"></a>
+<span class="sourceLineNo">589</span>      new CollectingVisitor&lt;Pair&lt;RegionInfo, ServerName&gt;&gt;() {<a name="line.589"></a>
+<span class="sourceLineNo">590</span>        private RegionLocations current = null;<a name="line.590"></a>
+<span class="sourceLineNo">591</span><a name="line.591"></a>
+<span class="sourceLineNo">592</span>        @Override<a name="line.592"></a>
+<span class="sourceLineNo">593</span>        public boolean visit(Result r) throws IOException {<a name="line.593"></a>
+<span class="sourceLineNo">594</span>          current = getRegionLocations(r);<a name="line.594"></a>
+<span class="sourceLineNo">595</span>          if (current == null || current.getRegionLocation().getRegion() == null) {<a name="line.595"></a>
+<span class="sourceLineNo">596</span>            LOG.warn("No serialized RegionInfo in " + r);<a name="line.596"></a>
+<span class="sourceLineNo">597</span>            return true;<a name="line.597"></a>
+<span class="sourceLineNo">598</span>          }<a name="line.598"></a>
+<span class="sourceLineNo">599</span>          RegionInfo hri = current.getRegionLocation().getRegion();<a name="line.599"></a>
+<span class="sourceLineNo">600</span>          if (excludeOfflinedSplitParents &amp;&amp; hri.isSplitParent()) return true;<a name="line.600"></a>
+<span class="sourceLineNo">601</span>          // Else call super and add this Result to the collection.<a name="line.601"></a>
+<span class="sourceLineNo">602</span>          return super.visit(r);<a name="line.602"></a>
+<span class="sourceLineNo">603</span>        }<a name="line.603"></a>
+<span class="sourceLineNo">604</span><a name="line.604"></a>
+<span class="sourceLineNo">605</span>        @Override<a name="line.605"></a>
+<span class="sourceLineNo">606</span>        void add(Result r) {<a name="line.606"></a>
+<span class="sourceLineNo">607</span>          if (current == null) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span>            return;<a name="line.608"></a>
+<span class="sourceLineNo">609</span>          }<a name="line.609"></a>
+<span class="sourceLineNo">610</span>          for (HRegionLocation loc : current.getRegionLocations()) {<a name="line.610"></a>
+<span class="sourceLineNo">611</span>            if (loc != null) {<a name="line.611"></a>
+<span class="sourceLineNo">612</span>              this.results.add(new Pair&lt;&gt;(loc.getRegion(), loc.getServerName()));<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>      };<a name="line.616"></a>
+<span class="sourceLineNo">617</span>    scanMeta(connection,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>        getTableStartRowForMeta(tableName, QueryType.REGION),<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        getTableStopRowForMeta(tableName, QueryType.REGION),<a name="line.619"></a>
+<span class="sourceLineNo">620</span>        QueryType.REGION, visitor);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    return visitor.getResults();<a name="line.621"></a>
+<span class="sourceLineNo">622</span>  }<a name="line.622"></a>
+<span class="sourceLineNo">623</span><a name="line.623"></a>
+<span class="sourceLineNo">624</span>  /**<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   * @param connection connection we're using<a name="line.625"></a>
+<span class="sourceLineNo">626</span>   * @param serverName server whose regions we're interested in<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   * @return List of user regions installed on this server (does not include<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   * catalog regions).<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   * @throws IOException<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   */<a name="line.630"></a>
+<span class="sourceLineNo">631</span>  public static NavigableMap&lt;RegionInfo, Result&gt;<a name="line.631"></a>
+<span class="sourceLineNo">632</span>  getServerUserRegions(Connection connection, final ServerName serverName)<a name="line.632"></a>
+<span class="sourceLineNo">633</span>    throws IOException {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    final NavigableMap&lt;RegionInfo, Result&gt; hris = new TreeMap&lt;&gt;();<a name="line.634"></a>
+<span class="sourceLineNo">635</span>    // Fill the above hris map with entries from hbase:meta that have the passed<a name="line.635"></a>
+<span class="sourceLineNo">636</span>    // servername.<a name="line.636"></a>
+<span class="sourceLineNo">637</span>    CollectingVisitor&lt;Result&gt; v = new CollectingVisitor&lt;Result&gt;() {<a name="line.637"></a>
+<span class="sourceLineNo">638</span>      @Override<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      void add(Result r) {<a name="line.639"></a>
+<span class="sourceLineNo">640</span>        if (r == null || r.isEmpty()) return;<a name="line.640"></a>
+<span class="sourceLineNo">641</span>        RegionLocations locations = getRegionLocations(r);<a name="line.641"></a>
+<span class="sourceLineNo">642</span>        if (locations == null) return;<a name="line.642"></a>
+<span class="sourceLineNo">643</span>        for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.643"></a>
+<span class="sourceLineNo">644</span>          if (loc != null) {<a name="line.644"></a>
+<span class="sourceLineNo">645</span>            if (loc.getServerName() != null &amp;&amp; loc.getServerName().equals(serverName)) {<a name="line.645"></a>
+<span class="sourceLineNo">646</span>              hris.put(loc.getRegion(), r);<a name="line.646"></a>
+<span class="sourceLineNo">647</span>            }<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>    };<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    scanMeta(connection, null, null, QueryType.REGION, v);<a name="line.652"></a>
+<span class="sourceLineNo">653</span>    return hris;<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>  public static void fullScanMetaAndPrint(Connection connection)<a name="line.656"></a>
+<span class="sourceLineNo">657</span>    throws IOException {<a name="line.657"></a>
+<span class="sourceLineNo">658</span>    Visitor v = new Visitor() {<a name="line.658"></a>
+<span class="sourceLineNo">659</span>      @Override<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      public boolean visit(Result r) throws IOException {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>        if (r ==  null || r.isEmpty()) return true;<a name="line.661"></a>
+<span class="sourceLineNo">662</span>        LOG.info("fullScanMetaAndPrint.Current Meta Row: " + r);<a name="line.662"></a>
+<span class="sourceLineNo">663</span>        TableState state = getTableState(r);<a name="line.663"></a>
+<span class="sourceLineNo">664</span>        if (state != null) {<a name="line.664"></a>
+<span class="sourceLineNo">665</span>          LOG.info("Table State: " + state);<a name="line.665"></a>
+<span class="sourceLineNo">666</span>        } else {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>          RegionLocations locations = getRegionLocations(r);<a name="line.667"></a>
+<span class="sourceLineNo">668</span>          if (locations == null) return true;<a name="line.668"></a>
+<span class="sourceLineNo">669</span>          for (HRegionLocation loc : locations.getRegionLocations()) {<a name="line.669"></a>
+<span class="sourceLineNo">670</span>            if (loc != null) {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>              LOG.info("fullScanMetaAndPrint.HRI Print= " + loc.getRegion());<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>        return true;<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>    scanMeta(connection, null, null, QueryType.ALL, v);<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>  public static void scanMetaForTableRegions(Connection connection,<a name="line.681"></a>
+<span class="sourceLineNo">682</span>      Visitor visitor, TableName tableName) throws IOException {<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    scanMeta(connection, tableName, QueryType.REGION, Integer.MAX_VALUE, visitor);<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>  public static void scanMeta(Connection connection, TableName table,<a name="line.686"></a>
+<span class="sourceLineNo">687</span>      QueryType type, int maxRows, final Visitor visitor) throws IOException {<a name="line.687"></a>
+<span class="sourceLineNo">688</span>    scanMeta(connection, getTableStartRowForMeta(table, type), getTableStopRowForMeta(table, type),<a name="line.688"></a>
+<span class="sourceLineNo">689</span>        type, maxRows, visitor);<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>  public static void scanMeta(Connection connection,<a name="line.692"></a>
+<span class="sourceLineNo">693</span>      @Nullable final byte[] startRow, @Nullable final byte[] stopRow,<a name="line.693"></a>
+<span class="sourceLineNo">694</span>      QueryType type, final Visitor visitor) throws IOException {<a name="line.694"></a>
+<span class="sourceLineNo">695</span>    scanMeta(connection, startRow, stopRow, type, Integer.MAX_VALUE, visitor);<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>  /**<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * Performs a scan of META table for given table starting from<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   * given row.<a name="line.700"></a>
+<span class="sourceLineNo">701</span>   *<a name="line.701"></a>
+<span class="sourceLineNo">702</span>   * @param connection connection we're using<a name="line.702"></a>
+<span class="sourceLineNo">703</span>   * @param visitor    visitor to call<a name="line.703"></a>
+<span class="sourceLineNo">704</span>   * @param tableName  table withing we scan<a name="line.704"></a>
+<span class="sourceLineNo">705</span>   * @param row        start scan from this row<a name="line.705"></a>
+<span class="sourceLineNo">706</span>   * @param rowLimit   max number of rows to return<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   * @throws IOException<a name="line.707"></a>
+<span class="sourceLineNo">708</span>   */<a name="line.708"></a>
+<span class="sourceLineNo">709</span>  public static void scanMeta(Connection connection,<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      final Visitor visitor, final TableName tableName,<a name="line.710"></a>
+<span class="sourceLineNo">711</span>      final byte[] row, final int rowLimit)<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      throws IOException {<a name="line.712"></a>
+<span class="sourceLineNo">713</span><a name="line.713"></a>
+<span class="sourceLineNo">714</span>    byte[] startRow = null;<a name="line.714"></a>
+<span class="sourceLineNo">715</span>    byte[] stopRow = null;<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    if (tableName != null) {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>      startRow =<a name="line.717"></a>
+<span class="sourceLineNo">718</span>          getTableStartRowForMeta(tableName, QueryType.REGION);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>      if (row != null) {<a name="line.719"></a>
+<span class="sourceLineNo">720</span>        RegionInfo closestRi =<a name="line.720"></a>
+<span class="sourceLineNo">721</span>            getClosestRegionInfo(connection, tableName, row);<a name="line.721"></a>
+<span class="sourceLineNo">722</span>        startRow = RegionInfo<a name="line.722"></a>
+<span class="sourceLineNo">723</span>            .createRegionName(tableName, closestRi.getStartKey(), HConstants.ZEROES, false);<a name="line.723"></a>
+<span class="sourceLineNo">724</span>      }<a name="line.724"></a>
+<span class="sourceLineNo">725</span>      stopRow =<a name="line.725"></a>
+<span class="sourceLineNo">726</span>          getTableStopRowForMeta(tableName, QueryType.REGION);<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    }<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    scanMeta(connection, startRow, stopRow, QueryType.REGION, rowLimit, visitor);<a name="line.728"></a>
+<span class="sourceLineNo">729</span>  }<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>   * Performs a scan of META table.<a name="line.733"></a>
+<span class="sourceLineNo">734</span>   * @param connection connection we're using<a name="line.734"></a>
+<span class="sourceLineNo">735</span>   * @param startRow Where to start the scan. Pass null if want to begin scan<a name="line.735"></a>
+<span class="sourceLineNo">736</span>   *                 at first row.<a name="line.736"></a>
+<span class="sourceLineNo">737</span>   * @param stopRow Where to stop the scan. Pass null if want to scan all rows<a name="line.737"></a>
+<span class="sourceLineNo">738</span>   *                from the start one<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   * @param type scanned part of meta<a name="line.739"></a>
+<span class="sourceLineNo">740</span>   * @param maxRows maximum rows to return<a name="line.740"></a>
+<span class="sourceLineNo">741</span>   * @param visitor Visitor invoked against each row.<a name="line.741"></a>
+<span class="sourceLineNo">742</span>   * @throws IOException<a name="line.742"></a>
+<span class="sourceLineNo">743</span>   */<a name="line.743"></a>
+<span class="sourceLineNo">744</span>  public static void scanMeta(Connection connection, @Nullable final byte[] startRow,<a name="line.744"></a>
+<span class="sourceLineNo">745</span>      @Nullable final byte[] stopRow, QueryType type, int maxRows, final Visitor visitor)<a name="line.745"></a>
+<span class="sourceLineNo">746</span>      throws IOException {<a name="line.746"></a>
+<span class="sourceLineNo">747</span>    int rowUpperLimit = maxRows &gt; 0 ? maxRows : Integer.MAX_VALUE;<a name="line.747"></a>
+<span class="sourceLineNo">748</span>    Scan scan = getMetaScan(connection, rowUpperLimit);<a name="line.748"></a>
+<span class="sourceLineNo">749</span><a name="line.749"></a>
+<span class="sourceLineNo">750</span>    for (byte[] family : type.getFamilies()) {<a name="line.750"></a>
+<span class="sourceLineNo">751</span>      scan.addFamily(family);<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    }<a name="line.752"></a>
+<span class="sourceLineNo">753</span>    if (startRow != null) {<a name="line.753"></a>
+<span class="sourceLineNo">754</span>      scan.withStartRow(startRow);<a name="line.754"></a>
+<span class="sourceLineNo">755</span>    }<a name="line.755"></a>
+<span class="sourceLineNo">756</span>    if (stopRow != null) {<a name="line.756"></a>
+<span class="sourceLineNo">757</span>      scan.withStopRow(stopRow);<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>    if (LOG.isTraceEnabled()) {<a name="line.760"></a>
+<span class="sourceLineNo">761</span>      LOG.trace("Scanning META"<a name="line.761"></a>
+<span class="sourceLineNo">762</span>          + " starting at row=" + Bytes.toStringBinary(startRow)<a name="line.762"></a>
+<span class="sourceLineNo">763</span>          + " stopping at row=" + Bytes.toStringBinary(stopRow)<a name="line.763"></a>
+<span class="sourceLineNo">764</span>          + " for max=" + rowUpperLimit<a name="line.764"></a>
+<span class="sourceLineNo">765</span>          + " with caching=" + scan.getCaching());<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>    int currentRow = 0;<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    try (Table metaTable = getMetaHTable(connection)) {<a name="line.769"></a>
+<span class="sourceLineNo">770</span>      try (ResultScanner scanner = metaTable.getScanner(scan)) {<a name="line.770"></a>
+<span class="sourceLineNo">771</span>        Result data;<a name="line.771"></a>
+<span class="sourceLineNo">772</span>        while ((data = scanner.next()) != null) {<a name="line.772"></a>
+<span class="sourceLineNo">773</span>          if (data.isEmpty()) continue;<a name="line.773"></a>
+<span class="sourceLineNo">774</span>          // Break if visit returns false.<a name="line.774"></a>
+<span class="sourceLineNo">775</span>          if (!visitor.visit(data)) break;<a name="line.775"></a>
+<span class="sourceLineNo">776</span>          if (++currentRow &gt;= rowUpperLimit) break;<a name="line.776"></a>
+<span class="sourceLineNo">777</span>        }<a name="line.777"></a>
+<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    }<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    if (visitor != null &amp;&amp; visitor instanceof Closeable) {<a name="line.780"></a>
+<span class="sourceLineNo">781</span>      try {<a name="line.781"></a>
+<span class="sourceLineNo">782</span>        ((Closeable) visitor).close();<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      } catch (Throwable t) {<a name="line.783"></a>
+<span class="sourceLineNo">784</span>        ExceptionUtil.rethrowIfInterrupt(t);<a name="line.784"></a>
+<span class="sourceLineNo">785</span>        LOG.debug("Got exception in closing the meta scanner visitor", t);<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    }<a name="line.787"></a>
+<span class="sourceLineNo">788</span>  }<a name="line.788"></a>
+<span class="sourceLineNo">789</span><a name="line.789"></a>
+<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
+<span class="sourceLineNo">791</span>   * @return Get closest metatable region row to passed &lt;code&gt;row&lt;/code&gt;<a name="line.791"></a>
+<span class="sourceLineNo">792</span>   */<a name="line.792"></a>
+<span class="sourceLineNo">793</span>  @NonNull<a name="line.793"></a>
+<span class="sourceLineNo">794</span>  private static RegionInfo getClosestRegionInfo(Connection connection,<a name="line.794"></a>
+<span class="sourceLineNo">795</span>      @NonNull final TableName tableName, @NonNull final byte[] row) throws IOException {<a name="line.795"></a>
+<span class="sourceLineNo">796</span>    byte[] searchRow = RegionInfo.createRegionName(tableName, row, HConstants.NINES, false);<a name="line.796"></a>
+<span class="sourceLineNo">797</span>    Scan scan = getMetaScan(connection, 1);<a name="line.797"></a>
+<span class="sourceLineNo">798</span>    scan.setReversed(true);<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    scan.withStartRow(searchRow);<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    try (ResultScanner resultScanner = getMetaHTable(connection).getScanner(scan)) {<a name="line.800"></a>
+<span class="sourceLineNo">801</span>      Result result = resultScanner.next();<a name="line.801"></a>
+<span class="sourceLineNo">802</span>      if (result == null) {<a name="line.802"></a>
+<span class="sourceLineNo">803</span>        throw new TableNotFoundException("Cannot find row in META " +<a name="line.803"></a>
+<span class="sourceLineNo">804</span>            " for table: " + tableName + ", row=" + Bytes.toStringBinary(row));<a name="line.804"></a>
+<span class="sourceLineNo">805</span>      }<a name="line.805"></a>
+<span class="sourceLineNo">806</span>      RegionInfo regionInfo = getRegionInfo(result);<a name="line.806"></a>
+<span class="sourceLineNo">807</span>      if (regionInfo == null) {<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        throw new IOException("RegionInfo was null or empty in Meta for " +<a name="line.808"></a>
+<span class="sourceLineNo">809</span>            tableName + ", row=" + Bytes.toStringBinary(row));<a name="line.809"></a>
+<span class="sourceLineNo">810</span>      }<a name="line.810"></a>
+<span class="sourceLineNo">811</span>      return regionInfo;<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><a name="line.814"></a>
+<span class="sourceLineNo">815</span>  /**<a name="line.815"></a>
+<span class="sourceLineNo">816</span>   * Returns the column family used for meta columns.<a name="line.816"></a>
+<span class="sourceLineNo">817</span>   * @return HConstants.CATALOG_FAMILY.<a name="line.817"></a>
+<span class="sourceLineNo">818</span>   */<a name="line.818"></a>
+<span class="sourceLineNo">819</span>  private static byte[] getCatalogFamily() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    return HConstants.CATALOG_FAMILY;<a name="line.820"></a>
+<span class="sourceLineNo">821</span>  }<a name="line.821"></a>
+<span class="sourceLineNo">822</span><a name="line.822"></a>
+<span class="sourceLineNo">823</span>  /**<a name="line.823"></a>
+<span class="sourceLineNo">824</span>   * Returns the column family used for table columns.<a name="line.824"></a>
+<span class="sourceLineNo">825</span>   * @return HConstants.TABLE_FAMILY.<a name="line.825"></a>
+<span class="sourceLineNo">826</span>   */<a name="line.826"></a>
+<span class="sourceLineNo">827</span>  private static byte[] getTableFamily() {<a name="line.827"></a>
+<span class="sourceLineNo">828</span>    return HConstants.TABLE_FAMILY;<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>  /**<a name="line.831"></a>
+<span class="sourceLineNo">832</span>   * Returns the column qualifier for serialized region info<a name="line.832"></a>
+<span class="sourceLineNo">833</span>   * @return HConstants.REGIONINFO_QUALIFIER<a name="line.833"></a>
+<span class="sourceLineNo">834</span>   */<a name="line.834"></a>
+<span class="sourceLineNo">835</span>  private static byte[] getRegionInfoColumn() {<a name="line.835"></a>
+<span class="sourceLineNo">836</span>    return HConstants.REGIONINFO_QUALIFIER;<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>   * Returns the column qualifier for serialized table state<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * @return HConstants.TABLE_STATE_QUALIFIER<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
+<span class="sourceLineNo">843</span>  private static byte[] getTableStateColumn() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span>    return HConstants.TABLE_STATE_QUALIFIER;<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  }<a name="line.845"></a>
+<span class="sourceLineNo">846</span><a name="line.846"></a>
+<span class="sourceLineNo">847</span>  /**<a name="line.847"></a>
+<span class="sourceLineNo">848</span>   * Returns the column qualifier for serialized region state<a name="line.848"></a>
+<span class="sourceLineNo">849</span>   * @return HConstants.STATE_QUALIFIER<a name="line.849"></a>
+<span class="sourceLineNo">850</span>   */<a name="line.850"></a>
+<span class="sourceLineNo">851</span>  private static byte[] getRegionStateColumn() {<a name="line.851"></a>
+<span class="sourceLineNo">852</span>    return HConstants.STATE_QUALIFIER;<a name="line.852"></a>
+<span class="sourceLineNo">853</span>  }<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>   * Returns the column qualifier for server column for replicaId<a name="line.856"></a>
+<span class="sourceLineNo">857</span>   * @param replicaId the replicaId of the region<a name="line.857"></a>
+<span class="sourceLineNo">858</span>   * @return a byte[] for server column qualifier<a name="line.858"></a>
+<span class="sourceLineNo">859</span>   */<a name="line.859"></a>
+<span class="sourceLineNo">860</span>  @VisibleForTesting<a name="line.860"></a>
+<span class="sourceLineNo">861</span>  public static byte[] getServerColumn(int replicaId) {<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    return replicaId == 0<a name="line.862"></a>
+<span class="sourceLineNo">863</span>      ? HConstants.SERVER_QUALIFIER<a name="line.863"></a>
+<span class="sourceLineNo">864</span>      : Bytes.toBytes(HConstants.SERVER_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.864"></a>
+<span class="sourceLineNo">865</span>      + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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 the column qualifier for server start code column for replicaId<a name="line.869"></a>
+<span class="sourceLineNo">870</span>   * @param replicaId the replicaId of the region<a name="line.870"></a>
+<span class="sourceLineNo">871</span>   * @return a byte[] for server start code column qualifier<a name="line.871"></a>
+<span class="sourceLineNo">872</span>   */<a name="line.872"></a>
+<span class="sourceLineNo">873</span>  @VisibleForTesting<a name="line.873"></a>
+<span class="sourceLineNo">874</span>  public static byte[] getStartCodeColumn(int replicaId) {<a name="line.874"></a>
+<span class="sourceLineNo">875</span>    return replicaId == 0<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      ? HConstants.STARTCODE_QUALIFIER<a name="line.876"></a>
+<span class="sourceLineNo">877</span>      : Bytes.toBytes(HConstants.STARTCODE_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.877"></a>
+<span class="sourceLineNo">878</span>      + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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>   * Returns the column qualifier for seqNum column for replicaId<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   * @param replicaId the replicaId of the region<a name="line.883"></a>
+<span class="sourceLineNo">884</span>   * @return a byte[] for seqNum column qualifier<a name="line.884"></a>
+<span class="sou

<TRUNCATED>

[25/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/SerialReplicationChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/SerialReplicationChecker.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/SerialReplicationChecker.html
new file mode 100644
index 0000000..762687e
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/SerialReplicationChecker.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/class-use/SerialReplicationChecker.html" target="_top">Frames</a></li>
+<li><a href="SerialReplicationChecker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker" class="title">Uses of Class<br>org.apache.hadoop.hbase.replication.regionserver.SerialReplicationChecker</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.replication.regionserver">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a> in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> declared as <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></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>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#serialReplicationChecker">serialReplicationChecker</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/class-use/SerialReplicationChecker.html" target="_top">Frames</a></li>
+<li><a href="SerialReplicationChecker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryBatch.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryBatch.html
new file mode 100644
index 0000000..cbd0bce
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryBatch.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryBatch.html" target="_top">Frames</a></li>
+<li><a href="WALEntryBatch.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch" class="title">Uses of Class<br>org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.replication.regionserver">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a> in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> with type parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></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>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">BlockingQueue</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#entryBatchQueue">entryBatchQueue</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">
+<caption><span>Methods in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</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>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#readWALEntries-org.apache.hadoop.hbase.replication.regionserver.WALEntryStream-">readWALEntries</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a>&nbsp;entryStream)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#take--">take</a></span>()</code>
+<div class="block">Retrieves the next batch of WAL entries from the queue, waiting up to the specified time for a
+ batch to become available</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/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</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>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceShipper.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.html#shipEdits-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-">shipEdits</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;entryBatch)</code>
+<div class="block">Do the shipping logic</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#updateBatchStats-org.apache.hadoop.hbase.replication.regionserver.WALEntryBatch-org.apache.hadoop.hbase.wal.WAL.Entry-long-">updateBatchStats</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>&nbsp;batch,
+                <a href="../../../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry,
+                long&nbsp;entrySize)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryBatch.html" target="_top">Frames</a></li>
+<li><a href="WALEntryBatch.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryStream.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryStream.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryStream.html
index 8a46ae4..26e076b 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryStream.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryStream.html
@@ -103,7 +103,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></code></td>
+<td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ReplicationSourceWALReader.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html#readWALEntries-org.apache.hadoop.hbase.replication.regionserver.WALEntryStream-">readWALEntries</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a>&nbsp;entryStream)</code>&nbsp;</td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-frame.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-frame.html
index 2372a12..f12f102 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-frame.html
@@ -64,9 +64,10 @@
 <li><a href="ReplicationSourceShipper.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSourceShipper</a></li>
 <li><a href="ReplicationSourceWALActionListener.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSourceWALActionListener</a></li>
 <li><a href="ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSourceWALReader</a></li>
-<li><a href="ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSourceWALReader.WALEntryBatch</a></li>
 <li><a href="ReplicationSyncUp.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSyncUp</a></li>
 <li><a href="ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationThrottler</a></li>
+<li><a href="SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">SerialReplicationChecker</a></li>
+<li><a href="WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">WALEntryBatch</a></li>
 <li><a href="WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">WALEntryStream</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-summary.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-summary.html
index b63ae7c..b7405e9 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-summary.html
@@ -361,23 +361,18 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a></td>
 <td class="colLast">
-<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches onto a queue</div>
+<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches
+ onto a queue</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a></td>
-<td class="colLast">
-<div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSyncUp</a></td>
 <td class="colLast">
 <div class="block">In a scenario of Replication based Disaster/Recovery, when hbase Master-Cluster crashes, this
  tool is used to sync-up the delta from Master to Slave using the info from ZooKeeper.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationThrottler</a></td>
 <td class="colLast">
 <div class="block">Per-peer per-node throttling controller for replication: enabled if
@@ -385,7 +380,21 @@
  to peer within each cycle won't exceed 'bandwidth' bytes</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a></td>
+<td class="colLast">
+<div class="block">
+ Helper class to determine whether we can push a given WAL entry without breaking the replication
+ order.</div>
+</td>
+</tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a></td>
+<td class="colLast">
+<div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></td>
 <td class="colLast">
 <div class="block">Streaming access to WAL entries.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
index 34cb9fc..13e9410 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
@@ -143,9 +143,9 @@
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceFactory.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceManager</span></a> (implements org.apache.hadoop.hbase.replication.<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationListener.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationListener</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALActionListener.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceWALActionListener</span></a> (implements org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReader.WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceWALReader.WALEntryBatch</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSyncUp.DummyServer</span></a> (implements org.apache.hadoop.hbase.<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationThrottler.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationThrottler</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/SerialReplicationChecker.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">SerialReplicationChecker</span></a></li>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Thread</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceManager.NodeFailoverWorker</span></a></li>
@@ -161,6 +161,7 @@
 </li>
 </ul>
 </li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryBatch.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">WALEntryBatch</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">WALEntryStream</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../../org/apache/hadoop/hbase/wal/WALSplitter.OutputSink.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALSplitter.OutputSink</span></a>
 <ul>
@@ -198,8 +199,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceShipper.WorkerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.SourceHolder.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">MetricsReplicationSourceFactoryImpl.SourceHolder</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceShipper.WorkerState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-use.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-use.html
index ff6fae9..c5c48a9 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-use.html
@@ -282,21 +282,24 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader</a>
-<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches onto a queue</div>
+<div class="block">Reads and filters WAL entries, groups the filtered entries into batches, and puts the batches
+ onto a queue</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceWALReader.WALEntryBatch.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReader.WALEntryBatch</a>
-<div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationThrottler.html#org.apache.hadoop.hbase.replication.regionserver">ReplicationThrottler</a>
 <div class="block">Per-peer per-node throttling controller for replication: enabled if
  bandwidth &gt; 0, a cycle = 100ms, by throttling we guarantee data pushed
  to peer within each cycle won't exceed 'bandwidth' bytes</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/SerialReplicationChecker.html#org.apache.hadoop.hbase.replication.regionserver">SerialReplicationChecker</a>
+<div class="block">
+ Helper class to determine whether we can push a given WAL entry without breaking the replication
+ order.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/SourceFSConfigurationProvider.html#org.apache.hadoop.hbase.replication.regionserver">SourceFSConfigurationProvider</a>
 <div class="block">Interface that defines how a region server in peer cluster will get source cluster file system
@@ -304,17 +307,22 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryBatch.html#org.apache.hadoop.hbase.replication.regionserver">WALEntryBatch</a>
+<div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntrySinkFilter.html#org.apache.hadoop.hbase.replication.regionserver">WALEntrySinkFilter</a>
 <div class="block">Implementations are installed on a Replication Sink called from inside
  ReplicationSink#replicateEntries to filter replicated WALEntries based off WALEntry attributes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALEntryStream.html#org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a>
 <div class="block">Streaming access to WAL entries.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html#org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>
 <div class="block">Used by replication to prevent replicating unacked log entries.</div>
 </td>

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/util/FSHDFSUtils.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/FSHDFSUtils.html b/devapidocs/org/apache/hadoop/hbase/util/FSHDFSUtils.html
index 77e0589..9ec43d6 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/FSHDFSUtils.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/FSHDFSUtils.html
@@ -290,7 +290,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html" title
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html" title="class in org.apache.hadoop.hbase.util">FSUtils</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#addToHDFSBlocksDistribution-org.apache.hadoop.hbase.HDFSBlocksDistribution-org.apache.hadoop.fs.BlockLocation:A-">addToHDFSBlocksDistribution</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkAccess-org.apache.hadoop.security.UserGroupInformation-org.apache.hadoop.fs.FileStatus-org.apache.hadoop.fs.permission.FsAction-">checkAccess</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkClusterIdExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-">checkClusterIdExists</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkDfsSafeMode-org.apache.hadoop.conf.Configuration-">checkDfsSafeMode</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkFileSystemAvailable-org.apache.hadoop.fs.FileSystem-">checkFileSystemAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkShortCircuitR
 eadBufferSize-org.apache.hadoop.conf.Configuration-">checkShortCircuitReadBufferSize</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">checkVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-int-int-">checkVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#computeHDFSBlocksDistribution-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.FileStatus-long-long-">computeHDFSBlocksDistribution</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.permission.FsPermission-java.net.InetSocketAddress:A-">create</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#deleteRegionDir-org.apache.hadoop.conf.C
 onfiguration-org.apache.hadoop.hbase.HRegionInfo-">deleteRegionDir</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#filterFileStatuses-org.apache.hadoop.fs.FileStatus:A-org.apache.hadoop.hbase.util.FileStatusFilter-">filterFileStatuses</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#filterFileStatuses-java.util.Iterator-org.apache.hadoop.hbase.util.FileStatusFilter-">filterFileStatuses</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getDFSHedgedReadMetrics-org.apache.hadoop.conf.Configuration-">getDFSHedgedReadMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getFamilyDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getFamilyDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getInstance-org.ap
 ache.hadoop.fs.FileSystem-org.apache.hadoop.conf.Configuration-">getInstance</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getLocalTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getLocalTableDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getReferenceFilePaths-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getReferenceFilePaths</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDegreeLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-">getRegionDegreeLocalityMappingFromFS</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDegreeLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-java.lang.String-int-">getRegionDegreeLocalityMappingFromFS</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionDirs</a>, <a href="../../../../../o
 rg/apache/hadoop/hbase/util/FSUtils.html#getRegionReferenceFileCount-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionReferenceFileCount</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.hbase.master.HMaster-">getTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop
 .fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTotalTableFragmentation-org.apache.hadoop.hbase.master.HMaster-">getTotalTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getVersion-org.apache.hadoop.fs.FileSystem-org.a
 pache.hadoop.fs.Path-">getVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isDistributedFileSystem-org.apache.hadoop.fs.FileSystem-">isDistributedFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isMatchingTail-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">isMatchingTail</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#listStatusWithStatusFilter-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.util.FileStatusFilter-">listStatusWithStatusFilter</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#metaRegionExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">metaRegionExists</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#parseVersionFrom-byte:A-">parseVersionFrom</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org
 .apache.hadoop.hbase.ClusterId-int-">setClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setupShortCircuitRead-org.apache.hadoop.conf.Configuration-">setupShortCircuitRead</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-int-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-int-int-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#toVersionByteArray-java.lang.String-">toVersionByteArray</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#waitOnSafeMode-org.apache.hadoop.conf.Configuration-long-">waitOnSafeMode</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#addToHDFSBlocksDistribution-org.apache.hadoop.hbase.HDFSBlocksDistribution-org.apache.hadoop.fs.BlockLocation:A-">addToHDFSBlocksDistribution</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkAccess-org.apache.hadoop.security.UserGroupInformation-org.apache.hadoop.fs.FileStatus-org.apache.hadoop.fs.permission.FsAction-">checkAccess</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkClusterIdExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-">checkClusterIdExists</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkDfsSafeMode-org.apache.hadoop.conf.Configuration-">checkDfsSafeMode</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkFileSystemAvailable-org.apache.hadoop.fs.FileSystem-">checkFileSystemAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkShortCircuitR
 eadBufferSize-org.apache.hadoop.conf.Configuration-">checkShortCircuitReadBufferSize</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">checkVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-int-int-">checkVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#computeHDFSBlocksDistribution-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.FileStatus-long-long-">computeHDFSBlocksDistribution</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.permission.FsPermission-java.net.InetSocketAddress:A-">create</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#deleteRegionDir-org.apache.hadoop.conf.C
 onfiguration-org.apache.hadoop.hbase.HRegionInfo-">deleteRegionDir</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#filterFileStatuses-org.apache.hadoop.fs.FileStatus:A-org.apache.hadoop.hbase.util.FileStatusFilter-">filterFileStatuses</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#filterFileStatuses-java.util.Iterator-org.apache.hadoop.hbase.util.FileStatusFilter-">filterFileStatuses</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getDFSHedgedReadMetrics-org.apache.hadoop.conf.Configuration-">getDFSHedgedReadMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getFamilyDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getFamilyDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getInstance-org.ap
 ache.hadoop.fs.FileSystem-org.apache.hadoop.conf.Configuration-">getInstance</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getLocalTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getLocalTableDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getReferenceFilePaths-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getReferenceFilePaths</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDegreeLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-">getRegionDegreeLocalityMappingFromFS</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDegreeLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-java.lang.String-int-">getRegionDegreeLocalityMappingFromFS</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir</a>, <a href="../../..
 /../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionReferenceFileCount-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionReferenceFileCount</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.hbase.master.HMaster-">getTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableStoreFilePathMap</a>,
  <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTotalTableFragmentation-org.apache.hadoop.hb
 ase.master.HMaster-">getTotalTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isDistributedFileSystem-org.apache.hadoop.fs.FileSystem-">isDistributedFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isMatchingTail-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">isMatchingTail</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#listStatusWithStatusFilter-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.util.FileStatusFilter-">listStatusWithStatusFilter</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#metaRegionExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">metaRegionExists</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#parseVersionFrom-byte
 :A-">parseVersionFrom</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.ClusterId-int-">setClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setupShortCircuitRead-org.apache.hadoop.conf.Configuration-">setupShortCircuitRead</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-int-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-int-int-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#toVersionByteArray-java.lang.String-">toVersionByteArray</a>, <
 a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#waitOnSafeMode-org.apache.hadoop.conf.Configuration-long-">waitOnSafeMode</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.util.CommonFSUtils">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/util/FSMapRUtils.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/FSMapRUtils.html b/devapidocs/org/apache/hadoop/hbase/util/FSMapRUtils.html
index 7c1818f..ed70598 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/FSMapRUtils.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/FSMapRUtils.html
@@ -228,7 +228,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html" title
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html" title="class in org.apache.hadoop.hbase.util">FSUtils</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#addToHDFSBlocksDistribution-org.apache.hadoop.hbase.HDFSBlocksDistribution-org.apache.hadoop.fs.BlockLocation:A-">addToHDFSBlocksDistribution</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkAccess-org.apache.hadoop.security.UserGroupInformation-org.apache.hadoop.fs.FileStatus-org.apache.hadoop.fs.permission.FsAction-">checkAccess</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkClusterIdExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-">checkClusterIdExists</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkDfsSafeMode-org.apache.hadoop.conf.Configuration-">checkDfsSafeMode</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkFileSystemAvailable-org.apache.hadoop.fs.FileSystem-">checkFileSystemAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkShortCircuitR
 eadBufferSize-org.apache.hadoop.conf.Configuration-">checkShortCircuitReadBufferSize</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">checkVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-int-int-">checkVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#computeHDFSBlocksDistribution-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.FileStatus-long-long-">computeHDFSBlocksDistribution</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.permission.FsPermission-java.net.InetSocketAddress:A-">create</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#deleteRegionDir-org.apache.hadoop.conf.C
 onfiguration-org.apache.hadoop.hbase.HRegionInfo-">deleteRegionDir</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#filterFileStatuses-org.apache.hadoop.fs.FileStatus:A-org.apache.hadoop.hbase.util.FileStatusFilter-">filterFileStatuses</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#filterFileStatuses-java.util.Iterator-org.apache.hadoop.hbase.util.FileStatusFilter-">filterFileStatuses</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getDFSHedgedReadMetrics-org.apache.hadoop.conf.Configuration-">getDFSHedgedReadMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getFamilyDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getFamilyDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getInstance-org.ap
 ache.hadoop.fs.FileSystem-org.apache.hadoop.conf.Configuration-">getInstance</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getLocalTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getLocalTableDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getReferenceFilePaths-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getReferenceFilePaths</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDegreeLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-">getRegionDegreeLocalityMappingFromFS</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDegreeLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-java.lang.String-int-">getRegionDegreeLocalityMappingFromFS</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionDirs</a>, <a href="../../../../../o
 rg/apache/hadoop/hbase/util/FSUtils.html#getRegionReferenceFileCount-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionReferenceFileCount</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.hbase.master.HMaster-">getTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop
 .fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTotalTableFragmentation-org.apache.hadoop.hbase.master.HMaster-">getTotalTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getVersion-org.apache.hadoop.fs.FileSystem-org.a
 pache.hadoop.fs.Path-">getVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isDistributedFileSystem-org.apache.hadoop.fs.FileSystem-">isDistributedFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isMatchingTail-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">isMatchingTail</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#listStatusWithStatusFilter-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.util.FileStatusFilter-">listStatusWithStatusFilter</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#metaRegionExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">metaRegionExists</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#parseVersionFrom-byte:A-">parseVersionFrom</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org
 .apache.hadoop.hbase.ClusterId-int-">setClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setupShortCircuitRead-org.apache.hadoop.conf.Configuration-">setupShortCircuitRead</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-int-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-int-int-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#toVersionByteArray-java.lang.String-">toVersionByteArray</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#waitOnSafeMode-org.apache.hadoop.conf.Configuration-long-">waitOnSafeMode</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#addToHDFSBlocksDistribution-org.apache.hadoop.hbase.HDFSBlocksDistribution-org.apache.hadoop.fs.BlockLocation:A-">addToHDFSBlocksDistribution</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkAccess-org.apache.hadoop.security.UserGroupInformation-org.apache.hadoop.fs.FileStatus-org.apache.hadoop.fs.permission.FsAction-">checkAccess</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkClusterIdExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-">checkClusterIdExists</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkDfsSafeMode-org.apache.hadoop.conf.Configuration-">checkDfsSafeMode</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkFileSystemAvailable-org.apache.hadoop.fs.FileSystem-">checkFileSystemAvailable</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkShortCircuitR
 eadBufferSize-org.apache.hadoop.conf.Configuration-">checkShortCircuitReadBufferSize</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-">checkVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#checkVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-boolean-int-int-">checkVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#computeHDFSBlocksDistribution-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.FileStatus-long-long-">computeHDFSBlocksDistribution</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#create-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.permission.FsPermission-java.net.InetSocketAddress:A-">create</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#deleteRegionDir-org.apache.hadoop.conf.C
 onfiguration-org.apache.hadoop.hbase.HRegionInfo-">deleteRegionDir</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#filterFileStatuses-org.apache.hadoop.fs.FileStatus:A-org.apache.hadoop.hbase.util.FileStatusFilter-">filterFileStatuses</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#filterFileStatuses-java.util.Iterator-org.apache.hadoop.hbase.util.FileStatusFilter-">filterFileStatuses</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getDFSHedgedReadMetrics-org.apache.hadoop.conf.Configuration-">getDFSHedgedReadMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getFamilyDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getFamilyDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getInstance-org.ap
 ache.hadoop.fs.FileSystem-org.apache.hadoop.conf.Configuration-">getInstance</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getLocalTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getLocalTableDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getReferenceFilePaths-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getReferenceFilePaths</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDegreeLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-">getRegionDegreeLocalityMappingFromFS</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDegreeLocalityMappingFromFS-org.apache.hadoop.conf.Configuration-java.lang.String-int-">getRegionDegreeLocalityMappingFromFS</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir</a>, <a href="../../..
 /../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionReferenceFileCount-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getRegionReferenceFileCount</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableDirs-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableDirs</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableFragmentation-org.apache.hadoop.hbase.master.HMaster-">getTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getTableStoreFilePathMap</a>,
  <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTableStoreFilePathMap-java.util.Map-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.PathFilter-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter-">getTableStoreFilePathMap</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getTotalTableFragmentation-org.apache.hadoop.hb
 ase.master.HMaster-">getTotalTableFragmentation</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">getVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isDistributedFileSystem-org.apache.hadoop.fs.FileSystem-">isDistributedFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#isMatchingTail-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">isMatchingTail</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#listStatusWithStatusFilter-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.util.FileStatusFilter-">listStatusWithStatusFilter</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#metaRegionExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">metaRegionExists</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#parseVersionFrom-byte
 :A-">parseVersionFrom</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setClusterId-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.ClusterId-int-">setClusterId</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setupShortCircuitRead-org.apache.hadoop.conf.Configuration-">setupShortCircuitRead</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-int-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#setVersion-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-java.lang.String-int-int-">setVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#toVersionByteArray-java.lang.String-">toVersionByteArray</a>, <
 a href="../../../../../org/apache/hadoop/hbase/util/FSUtils.html#waitOnSafeMode-org.apache.hadoop.conf.Configuration-long-">waitOnSafeMode</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.util.CommonFSUtils">


[03/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.RegionStateVisitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.RegionStateVisitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.RegionStateVisitor.html
index c751af0..7f98047 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.RegionStateVisitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.RegionStateVisitor.html
@@ -7,48 +7,48 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.assignment;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.master.assignment;<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.Collections;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.List;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellBuilderFactory;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CellBuilderType;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HConstants;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.ServerName;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.TableName;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Put;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.Result;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.Table;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.procedure2.util.StringUtils;<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>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.43"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.Collections;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.Cell;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.CellBuilderFactory;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.CellBuilderType;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HConstants;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ServerName;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.Put;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Result;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.Table;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.master.MasterFileSystem;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.procedure2.util.StringUtils;<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>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.44"></a>
 <span class="sourceLineNo">045</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.45"></a>
 <span class="sourceLineNo">046</span>import org.apache.zookeeper.KeeperException;<a name="line.46"></a>
@@ -171,152 +171,182 @@
 <span class="sourceLineNo">163</span>      Preconditions.checkArgument(state == State.OPEN &amp;&amp; regionLocation != null,<a name="line.163"></a>
 <span class="sourceLineNo">164</span>          "Open region should be on a server");<a name="line.164"></a>
 <span class="sourceLineNo">165</span>      MetaTableAccessor.addLocation(put, regionLocation, openSeqNum, replicaId);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      info.append(", openSeqNum=").append(openSeqNum);<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      info.append(", regionLocation=").append(regionLocation);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    } else if (regionLocation != null &amp;&amp; !regionLocation.equals(lastHost)) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      // Ideally, if no regionLocation, write null to the hbase:meta but this will confuse clients<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      // currently; they want a server to hit. TODO: Make clients wait if no location.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          .setRow(put.getRow())<a name="line.172"></a>
-<span class="sourceLineNo">173</span>          .setFamily(HConstants.CATALOG_FAMILY)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>          .setQualifier(getServerNameColumn(replicaId))<a name="line.174"></a>
-<span class="sourceLineNo">175</span>          .setTimestamp(put.getTimeStamp())<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          .setType(Cell.Type.Put)<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          .setValue(Bytes.toBytes(regionLocation.getServerName()))<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          .build());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      info.append(", regionLocation=").append(regionLocation);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        .setRow(put.getRow())<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        .setFamily(HConstants.CATALOG_FAMILY)<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        .setQualifier(getStateColumn(replicaId))<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        .setTimestamp(put.getTimeStamp())<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        .setType(Cell.Type.Put)<a name="line.186"></a>
-<span class="sourceLineNo">187</span>        .setValue(Bytes.toBytes(state.name()))<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        .build());<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    LOG.info(info.toString());<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    updateRegionLocation(regionInfo, state, put);<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>  private void updateRegionLocation(RegionInfo regionInfo, State state, Put put)<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      throws IOException {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    try (Table table = master.getConnection().getTable(TableName.META_TABLE_NAME)) {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      table.put(put);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    } catch (IOException e) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      // TODO: Revist!!!! Means that if a server is loaded, then we will abort our host!<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // In tests we abort the Master!<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      String msg = String.format("FAILED persisting region=%s state=%s",<a name="line.200"></a>
-<span class="sourceLineNo">201</span>        regionInfo.getShortNameToLog(), state);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      LOG.error(msg, e);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      master.abort(msg, e);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      throw e;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  }<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  // ============================================================================================<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  //  Update Region Splitting State helpers<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  // ============================================================================================<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  public void splitRegion(final RegionInfo parent, final RegionInfo hriA,<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      final RegionInfo hriB, final ServerName serverName)  throws IOException {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    final TableDescriptor htd = getTableDescriptor(parent.getTable());<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    MetaTableAccessor.splitRegion(master.getConnection(), parent, hriA, hriB, serverName,<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        getRegionReplication(htd));<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>  //  Update Region Merging State helpers<a name="line.219"></a>
+<span class="sourceLineNo">166</span>      // only update replication barrier for default replica<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      if (regionInfo.getReplicaId() == RegionInfo.DEFAULT_REPLICA_ID &amp;&amp;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        hasSerialReplicationScope(regionInfo.getTable())) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        MetaTableAccessor.addReplicationBarrier(put, openSeqNum);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      }<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      info.append(", openSeqNum=").append(openSeqNum);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      info.append(", regionLocation=").append(regionLocation);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    } else if (regionLocation != null &amp;&amp; !regionLocation.equals(lastHost)) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      // Ideally, if no regionLocation, write null to the hbase:meta but this will confuse clients<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      // currently; they want a server to hit. TODO: Make clients wait if no location.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)<a name="line.176"></a>
+<span class="sourceLineNo">177</span>          .setRow(put.getRow())<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          .setFamily(HConstants.CATALOG_FAMILY)<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          .setQualifier(getServerNameColumn(replicaId))<a name="line.179"></a>
+<span class="sourceLineNo">180</span>          .setTimestamp(put.getTimeStamp())<a name="line.180"></a>
+<span class="sourceLineNo">181</span>          .setType(Cell.Type.Put)<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          .setValue(Bytes.toBytes(regionLocation.getServerName()))<a name="line.182"></a>
+<span class="sourceLineNo">183</span>          .build());<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      info.append(", regionLocation=").append(regionLocation);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        .setRow(put.getRow())<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        .setFamily(HConstants.CATALOG_FAMILY)<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        .setQualifier(getStateColumn(replicaId))<a name="line.189"></a>
+<span class="sourceLineNo">190</span>        .setTimestamp(put.getTimeStamp())<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        .setType(Cell.Type.Put)<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        .setValue(Bytes.toBytes(state.name()))<a name="line.192"></a>
+<span class="sourceLineNo">193</span>        .build());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    LOG.info(info.toString());<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    updateRegionLocation(regionInfo, state, put);<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>  private void updateRegionLocation(RegionInfo regionInfo, State state, Put put)<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      throws IOException {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    try (Table table = master.getConnection().getTable(TableName.META_TABLE_NAME)) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      table.put(put);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    } catch (IOException e) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      // TODO: Revist!!!! Means that if a server is loaded, then we will abort our host!<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      // In tests we abort the Master!<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      String msg = String.format("FAILED persisting region=%s state=%s",<a name="line.205"></a>
+<span class="sourceLineNo">206</span>        regionInfo.getShortNameToLog(), state);<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      LOG.error(msg, e);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      master.abort(msg, e);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      throw e;<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>  private long getOpenSeqNumForParentRegion(RegionInfo region) throws IOException {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    MasterFileSystem mfs = master.getMasterFileSystem();<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    long maxSeqId =<a name="line.215"></a>
+<span class="sourceLineNo">216</span>        WALSplitter.getMaxRegionSequenceId(mfs.getFileSystem(), mfs.getRegionDir(region));<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return maxSeqId &gt; 0 ? maxSeqId + 1 : HConstants.NO_SEQNUM;<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>  public void mergeRegions(final RegionInfo parent, final RegionInfo hriA, final RegionInfo hriB,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      final ServerName serverName) throws IOException {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    final TableDescriptor htd = getTableDescriptor(parent.getTable());<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    MetaTableAccessor.mergeRegions(master.getConnection(), parent, hriA, hriB, serverName,<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      getRegionReplication(htd));<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>  //  Delete Region State helpers<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  // ============================================================================================<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public void deleteRegion(final RegionInfo regionInfo) throws IOException {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    deleteRegions(Collections.singletonList(regionInfo));<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>  public void deleteRegions(final List&lt;RegionInfo&gt; regions) throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    MetaTableAccessor.deleteRegions(master.getConnection(), regions);<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>  //  Table Descriptors helpers<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // ==========================================================================<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  private int getRegionReplication(final TableDescriptor htd) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    return (htd != null) ? htd.getRegionReplication() : 1;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private TableDescriptor getTableDescriptor(final TableName tableName) throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    return master.getTableDescriptors().get(tableName);<a name="line.247"></a>
+<span class="sourceLineNo">221</span>  //  Update Region Splitting State helpers<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  // ============================================================================================<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  public void splitRegion(RegionInfo parent, RegionInfo hriA, RegionInfo hriB,<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      ServerName serverName) throws IOException {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    TableDescriptor htd = getTableDescriptor(parent.getTable());<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    long parentOpenSeqNum = HConstants.NO_SEQNUM;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    if (htd.hasSerialReplicationScope()) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      parentOpenSeqNum = getOpenSeqNumForParentRegion(parent);<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    MetaTableAccessor.splitRegion(master.getConnection(), parent, parentOpenSeqNum, hriA, hriB,<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      serverName, getRegionReplication(htd));<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>  //  Update Region Merging State helpers<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  // ============================================================================================<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public void mergeRegions(RegionInfo child, RegionInfo hriA, RegionInfo hriB,<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      ServerName serverName) throws IOException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    TableDescriptor htd = getTableDescriptor(child.getTable());<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    long regionAOpenSeqNum = -1L;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    long regionBOpenSeqNum = -1L;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    if (htd.hasSerialReplicationScope()) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      regionAOpenSeqNum = getOpenSeqNumForParentRegion(hriA);<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      regionBOpenSeqNum = getOpenSeqNumForParentRegion(hriB);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    MetaTableAccessor.mergeRegions(master.getConnection(), child, hriA, regionAOpenSeqNum, hriB,<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      regionBOpenSeqNum, serverName, getRegionReplication(htd));<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>  //  Server Name<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>   * Returns the {@link ServerName} from catalog table {@link Result}<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * where the region is transitioning. It should be the same as<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * {@link MetaTableAccessor#getServerName(Result,int)} if the server is at OPEN state.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @param r Result to pull the transitioning server name from<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @return A ServerName instance or {@link MetaTableAccessor#getServerName(Result,int)}<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * if necessary fields not found or empty.<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  static ServerName getRegionServer(final Result r, int replicaId) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    final Cell cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY,<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        getServerNameColumn(replicaId));<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (cell == null || cell.getValueLength() == 0) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      RegionLocations locations = MetaTableAccessor.getRegionLocations(r);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (locations != null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        HRegionLocation location = locations.getRegionLocation(replicaId);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        if (location != null) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          return location.getServerName();<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>      return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    return ServerName.parseServerName(Bytes.toString(cell.getValueArray(),<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      cell.getValueOffset(), cell.getValueLength()));<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>  private static byte[] getServerNameColumn(int replicaId) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    return replicaId == 0<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        ? HConstants.SERVERNAME_QUALIFIER<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        : Bytes.toBytes(HConstants.SERVERNAME_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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>  //  Region State<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>   * Pull the region state from a catalog table {@link Result}.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param r Result to pull the region state from<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * @return the region state, or null if unknown.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  @VisibleForTesting<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  public static State getRegionState(final Result r, int replicaId) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    Cell cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY, getStateColumn(replicaId));<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if (cell == null || cell.getValueLength() == 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      return null;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return State.valueOf(Bytes.toString(cell.getValueArray(), cell.getValueOffset(),<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        cell.getValueLength()));<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>  private static byte[] getStateColumn(int replicaId) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    return replicaId == 0<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        ? HConstants.STATE_QUALIFIER<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        : Bytes.toBytes(HConstants.STATE_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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">250</span>  // ============================================================================================<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //  Delete Region State helpers<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // ============================================================================================<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public void deleteRegion(final RegionInfo regionInfo) throws IOException {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    deleteRegions(Collections.singletonList(regionInfo));<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>  public void deleteRegions(final List&lt;RegionInfo&gt; regions) throws IOException {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    MetaTableAccessor.deleteRegions(master.getConnection(), regions);<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>  //  Table Descriptors helpers<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  // ==========================================================================<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private boolean hasSerialReplicationScope(TableName tableName) throws IOException {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return hasSerialReplicationScope(getTableDescriptor(tableName));<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>  private boolean hasSerialReplicationScope(TableDescriptor htd) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    return htd != null ? htd.hasSerialReplicationScope() : false;<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>  private int getRegionReplication(TableDescriptor htd) {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return htd != null ? htd.getRegionReplication() : 1;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private TableDescriptor getTableDescriptor(TableName tableName) throws IOException {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return master.getTableDescriptors().get(tableName);<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>  //  Server Name<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>   * Returns the {@link ServerName} from catalog table {@link Result}<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   * where the region is transitioning. It should be the same as<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * {@link MetaTableAccessor#getServerName(Result,int)} if the server is at OPEN state.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * @param r Result to pull the transitioning server name from<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @return A ServerName instance or {@link MetaTableAccessor#getServerName(Result,int)}<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   * if necessary fields not found or empty.<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   */<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  static ServerName getRegionServer(final Result r, int replicaId) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    final Cell cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY,<a name="line.293"></a>
+<span class="sourceLineNo">294</span>        getServerNameColumn(replicaId));<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    if (cell == null || cell.getValueLength() == 0) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      RegionLocations locations = MetaTableAccessor.getRegionLocations(r);<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      if (locations != null) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        HRegionLocation location = locations.getRegionLocation(replicaId);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        if (location != null) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          return location.getServerName();<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>      return null;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    return ServerName.parseServerName(Bytes.toString(cell.getValueArray(),<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      cell.getValueOffset(), cell.getValueLength()));<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  private static byte[] getServerNameColumn(int replicaId) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    return replicaId == 0<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        ? HConstants.SERVERNAME_QUALIFIER<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        : Bytes.toBytes(HConstants.SERVERNAME_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.312"></a>
+<span class="sourceLineNo">313</span>          + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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>  //  Region State<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>   * Pull the region state from a catalog table {@link Result}.<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * @param r Result to pull the region state from<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @return the region state, or null if unknown.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   */<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  @VisibleForTesting<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  public static State getRegionState(final Result r, int replicaId) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    Cell cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY, getStateColumn(replicaId));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    if (cell == null || cell.getValueLength() == 0) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    return State.valueOf(Bytes.toString(cell.getValueArray(), cell.getValueOffset(),<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        cell.getValueLength()));<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>  private static byte[] getStateColumn(int replicaId) {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return replicaId == 0<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        ? HConstants.STATE_QUALIFIER<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        : Bytes.toBytes(HConstants.STATE_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.338"></a>
+<span class="sourceLineNo">339</span>          + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html
index c751af0..7f98047 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/RegionStateStore.html
@@ -7,48 +7,48 @@
 <body>
 <div class="sourceContainer">
 <pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
-<span class="sourceLineNo">002</span> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<a name="line.17"></a>
-<span class="sourceLineNo">018</span> */<a name="line.18"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master.assignment;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.master.assignment;<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.Collections;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.List;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellBuilderFactory;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CellBuilderType;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HConstants;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.ServerName;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.TableName;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Put;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.Result;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.Table;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.procedure2.util.StringUtils;<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>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.43"></a>
+<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.Collections;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.Cell;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.CellBuilderFactory;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.CellBuilderType;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HConstants;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.ServerName;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.Put;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Result;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.Table;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.master.MasterFileSystem;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.master.MasterServices;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.RegionState.State;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.procedure2.util.StringUtils;<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>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.43"></a>
 <span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;<a name="line.44"></a>
 <span class="sourceLineNo">045</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.45"></a>
 <span class="sourceLineNo">046</span>import org.apache.zookeeper.KeeperException;<a name="line.46"></a>
@@ -171,152 +171,182 @@
 <span class="sourceLineNo">163</span>      Preconditions.checkArgument(state == State.OPEN &amp;&amp; regionLocation != null,<a name="line.163"></a>
 <span class="sourceLineNo">164</span>          "Open region should be on a server");<a name="line.164"></a>
 <span class="sourceLineNo">165</span>      MetaTableAccessor.addLocation(put, regionLocation, openSeqNum, replicaId);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      info.append(", openSeqNum=").append(openSeqNum);<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      info.append(", regionLocation=").append(regionLocation);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    } else if (regionLocation != null &amp;&amp; !regionLocation.equals(lastHost)) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      // Ideally, if no regionLocation, write null to the hbase:meta but this will confuse clients<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      // currently; they want a server to hit. TODO: Make clients wait if no location.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          .setRow(put.getRow())<a name="line.172"></a>
-<span class="sourceLineNo">173</span>          .setFamily(HConstants.CATALOG_FAMILY)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>          .setQualifier(getServerNameColumn(replicaId))<a name="line.174"></a>
-<span class="sourceLineNo">175</span>          .setTimestamp(put.getTimeStamp())<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          .setType(Cell.Type.Put)<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          .setValue(Bytes.toBytes(regionLocation.getServerName()))<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          .build());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      info.append(", regionLocation=").append(regionLocation);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        .setRow(put.getRow())<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        .setFamily(HConstants.CATALOG_FAMILY)<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        .setQualifier(getStateColumn(replicaId))<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        .setTimestamp(put.getTimeStamp())<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        .setType(Cell.Type.Put)<a name="line.186"></a>
-<span class="sourceLineNo">187</span>        .setValue(Bytes.toBytes(state.name()))<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        .build());<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    LOG.info(info.toString());<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    updateRegionLocation(regionInfo, state, put);<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>  private void updateRegionLocation(RegionInfo regionInfo, State state, Put put)<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      throws IOException {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    try (Table table = master.getConnection().getTable(TableName.META_TABLE_NAME)) {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      table.put(put);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    } catch (IOException e) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      // TODO: Revist!!!! Means that if a server is loaded, then we will abort our host!<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // In tests we abort the Master!<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      String msg = String.format("FAILED persisting region=%s state=%s",<a name="line.200"></a>
-<span class="sourceLineNo">201</span>        regionInfo.getShortNameToLog(), state);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      LOG.error(msg, e);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      master.abort(msg, e);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      throw e;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  }<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  // ============================================================================================<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  //  Update Region Splitting State helpers<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  // ============================================================================================<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  public void splitRegion(final RegionInfo parent, final RegionInfo hriA,<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      final RegionInfo hriB, final ServerName serverName)  throws IOException {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    final TableDescriptor htd = getTableDescriptor(parent.getTable());<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    MetaTableAccessor.splitRegion(master.getConnection(), parent, hriA, hriB, serverName,<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        getRegionReplication(htd));<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>  //  Update Region Merging State helpers<a name="line.219"></a>
+<span class="sourceLineNo">166</span>      // only update replication barrier for default replica<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      if (regionInfo.getReplicaId() == RegionInfo.DEFAULT_REPLICA_ID &amp;&amp;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        hasSerialReplicationScope(regionInfo.getTable())) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        MetaTableAccessor.addReplicationBarrier(put, openSeqNum);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      }<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      info.append(", openSeqNum=").append(openSeqNum);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      info.append(", regionLocation=").append(regionLocation);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    } else if (regionLocation != null &amp;&amp; !regionLocation.equals(lastHost)) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      // Ideally, if no regionLocation, write null to the hbase:meta but this will confuse clients<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      // currently; they want a server to hit. TODO: Make clients wait if no location.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)<a name="line.176"></a>
+<span class="sourceLineNo">177</span>          .setRow(put.getRow())<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          .setFamily(HConstants.CATALOG_FAMILY)<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          .setQualifier(getServerNameColumn(replicaId))<a name="line.179"></a>
+<span class="sourceLineNo">180</span>          .setTimestamp(put.getTimeStamp())<a name="line.180"></a>
+<span class="sourceLineNo">181</span>          .setType(Cell.Type.Put)<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          .setValue(Bytes.toBytes(regionLocation.getServerName()))<a name="line.182"></a>
+<span class="sourceLineNo">183</span>          .build());<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      info.append(", regionLocation=").append(regionLocation);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    put.add(CellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        .setRow(put.getRow())<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        .setFamily(HConstants.CATALOG_FAMILY)<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        .setQualifier(getStateColumn(replicaId))<a name="line.189"></a>
+<span class="sourceLineNo">190</span>        .setTimestamp(put.getTimeStamp())<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        .setType(Cell.Type.Put)<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        .setValue(Bytes.toBytes(state.name()))<a name="line.192"></a>
+<span class="sourceLineNo">193</span>        .build());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    LOG.info(info.toString());<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    updateRegionLocation(regionInfo, state, put);<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>  private void updateRegionLocation(RegionInfo regionInfo, State state, Put put)<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      throws IOException {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    try (Table table = master.getConnection().getTable(TableName.META_TABLE_NAME)) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      table.put(put);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    } catch (IOException e) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      // TODO: Revist!!!! Means that if a server is loaded, then we will abort our host!<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      // In tests we abort the Master!<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      String msg = String.format("FAILED persisting region=%s state=%s",<a name="line.205"></a>
+<span class="sourceLineNo">206</span>        regionInfo.getShortNameToLog(), state);<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      LOG.error(msg, e);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      master.abort(msg, e);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      throw e;<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>  private long getOpenSeqNumForParentRegion(RegionInfo region) throws IOException {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    MasterFileSystem mfs = master.getMasterFileSystem();<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    long maxSeqId =<a name="line.215"></a>
+<span class="sourceLineNo">216</span>        WALSplitter.getMaxRegionSequenceId(mfs.getFileSystem(), mfs.getRegionDir(region));<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return maxSeqId &gt; 0 ? maxSeqId + 1 : HConstants.NO_SEQNUM;<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>  public void mergeRegions(final RegionInfo parent, final RegionInfo hriA, final RegionInfo hriB,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      final ServerName serverName) throws IOException {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    final TableDescriptor htd = getTableDescriptor(parent.getTable());<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    MetaTableAccessor.mergeRegions(master.getConnection(), parent, hriA, hriB, serverName,<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      getRegionReplication(htd));<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>  //  Delete Region State helpers<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  // ============================================================================================<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public void deleteRegion(final RegionInfo regionInfo) throws IOException {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    deleteRegions(Collections.singletonList(regionInfo));<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>  public void deleteRegions(final List&lt;RegionInfo&gt; regions) throws IOException {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    MetaTableAccessor.deleteRegions(master.getConnection(), regions);<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>  //  Table Descriptors helpers<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // ==========================================================================<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  private int getRegionReplication(final TableDescriptor htd) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    return (htd != null) ? htd.getRegionReplication() : 1;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private TableDescriptor getTableDescriptor(final TableName tableName) throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    return master.getTableDescriptors().get(tableName);<a name="line.247"></a>
+<span class="sourceLineNo">221</span>  //  Update Region Splitting State helpers<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  // ============================================================================================<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  public void splitRegion(RegionInfo parent, RegionInfo hriA, RegionInfo hriB,<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      ServerName serverName) throws IOException {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    TableDescriptor htd = getTableDescriptor(parent.getTable());<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    long parentOpenSeqNum = HConstants.NO_SEQNUM;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    if (htd.hasSerialReplicationScope()) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      parentOpenSeqNum = getOpenSeqNumForParentRegion(parent);<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    MetaTableAccessor.splitRegion(master.getConnection(), parent, parentOpenSeqNum, hriA, hriB,<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      serverName, getRegionReplication(htd));<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>  //  Update Region Merging State helpers<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  // ============================================================================================<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public void mergeRegions(RegionInfo child, RegionInfo hriA, RegionInfo hriB,<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      ServerName serverName) throws IOException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    TableDescriptor htd = getTableDescriptor(child.getTable());<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    long regionAOpenSeqNum = -1L;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    long regionBOpenSeqNum = -1L;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    if (htd.hasSerialReplicationScope()) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      regionAOpenSeqNum = getOpenSeqNumForParentRegion(hriA);<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      regionBOpenSeqNum = getOpenSeqNumForParentRegion(hriB);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    MetaTableAccessor.mergeRegions(master.getConnection(), child, hriA, regionAOpenSeqNum, hriB,<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      regionBOpenSeqNum, serverName, getRegionReplication(htd));<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>  //  Server Name<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>   * Returns the {@link ServerName} from catalog table {@link Result}<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * where the region is transitioning. It should be the same as<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * {@link MetaTableAccessor#getServerName(Result,int)} if the server is at OPEN state.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @param r Result to pull the transitioning server name from<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @return A ServerName instance or {@link MetaTableAccessor#getServerName(Result,int)}<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * if necessary fields not found or empty.<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  static ServerName getRegionServer(final Result r, int replicaId) {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    final Cell cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY,<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        getServerNameColumn(replicaId));<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (cell == null || cell.getValueLength() == 0) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      RegionLocations locations = MetaTableAccessor.getRegionLocations(r);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      if (locations != null) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        HRegionLocation location = locations.getRegionLocation(replicaId);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>        if (location != null) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          return location.getServerName();<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>      return null;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    return ServerName.parseServerName(Bytes.toString(cell.getValueArray(),<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      cell.getValueOffset(), cell.getValueLength()));<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>  private static byte[] getServerNameColumn(int replicaId) {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    return replicaId == 0<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        ? HConstants.SERVERNAME_QUALIFIER<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        : Bytes.toBytes(HConstants.SERVERNAME_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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>  //  Region State<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>   * Pull the region state from a catalog table {@link Result}.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   * @param r Result to pull the region state from<a name="line.292"></a>
-<span class="sourceLineNo">293</span>   * @return the region state, or null if unknown.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  @VisibleForTesting<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  public static State getRegionState(final Result r, int replicaId) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    Cell cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY, getStateColumn(replicaId));<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if (cell == null || cell.getValueLength() == 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      return null;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return State.valueOf(Bytes.toString(cell.getValueArray(), cell.getValueOffset(),<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        cell.getValueLength()));<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>  private static byte[] getStateColumn(int replicaId) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    return replicaId == 0<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        ? HConstants.STATE_QUALIFIER<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        : Bytes.toBytes(HConstants.STATE_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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">250</span>  // ============================================================================================<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //  Delete Region State helpers<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // ============================================================================================<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public void deleteRegion(final RegionInfo regionInfo) throws IOException {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    deleteRegions(Collections.singletonList(regionInfo));<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>  public void deleteRegions(final List&lt;RegionInfo&gt; regions) throws IOException {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    MetaTableAccessor.deleteRegions(master.getConnection(), regions);<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>  //  Table Descriptors helpers<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  // ==========================================================================<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private boolean hasSerialReplicationScope(TableName tableName) throws IOException {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return hasSerialReplicationScope(getTableDescriptor(tableName));<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>  private boolean hasSerialReplicationScope(TableDescriptor htd) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    return htd != null ? htd.hasSerialReplicationScope() : false;<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>  private int getRegionReplication(TableDescriptor htd) {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return htd != null ? htd.getRegionReplication() : 1;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  private TableDescriptor getTableDescriptor(TableName tableName) throws IOException {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    return master.getTableDescriptors().get(tableName);<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>  //  Server Name<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>   * Returns the {@link ServerName} from catalog table {@link Result}<a name="line.285"></a>
+<span class="sourceLineNo">286</span>   * where the region is transitioning. It should be the same as<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * {@link MetaTableAccessor#getServerName(Result,int)} if the server is at OPEN state.<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * @param r Result to pull the transitioning server name from<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * @return A ServerName instance or {@link MetaTableAccessor#getServerName(Result,int)}<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   * if necessary fields not found or empty.<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   */<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  static ServerName getRegionServer(final Result r, int replicaId) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    final Cell cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY,<a name="line.293"></a>
+<span class="sourceLineNo">294</span>        getServerNameColumn(replicaId));<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    if (cell == null || cell.getValueLength() == 0) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      RegionLocations locations = MetaTableAccessor.getRegionLocations(r);<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      if (locations != null) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        HRegionLocation location = locations.getRegionLocation(replicaId);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        if (location != null) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          return location.getServerName();<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>      return null;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    return ServerName.parseServerName(Bytes.toString(cell.getValueArray(),<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      cell.getValueOffset(), cell.getValueLength()));<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  private static byte[] getServerNameColumn(int replicaId) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    return replicaId == 0<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        ? HConstants.SERVERNAME_QUALIFIER<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        : Bytes.toBytes(HConstants.SERVERNAME_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.312"></a>
+<span class="sourceLineNo">313</span>          + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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>  //  Region State<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>   * Pull the region state from a catalog table {@link Result}.<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * @param r Result to pull the region state from<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @return the region state, or null if unknown.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   */<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  @VisibleForTesting<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  public static State getRegionState(final Result r, int replicaId) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    Cell cell = r.getColumnLatestCell(HConstants.CATALOG_FAMILY, getStateColumn(replicaId));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    if (cell == null || cell.getValueLength() == 0) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    return State.valueOf(Bytes.toString(cell.getValueArray(), cell.getValueOffset(),<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        cell.getValueLength()));<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>  private static byte[] getStateColumn(int replicaId) {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return replicaId == 0<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        ? HConstants.STATE_QUALIFIER<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        : Bytes.toBytes(HConstants.STATE_QUALIFIER_STR + META_REPLICA_ID_DELIMITER<a name="line.338"></a>
+<span class="sourceLineNo">339</span>          + String.format(RegionInfo.REPLICA_ID_FORMAT, replicaId));<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>
 
 
 


[40/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html b/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html
index da285fd..6450530 100644
--- a/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42,"i25":42,"i26":42,"i27":42,"i28":42,"i29":42,"i30":42,"i31":42,"i32":42,"i33":42,"i34":42,"i35":42,"i36":42,"i37":42,"i38":42,"i39":42,"i40":42,"i41":42,"i42":42,"i43":42,"i44":41,"i45":42,"i46":42,"i47":42,"i48":42,"i49":42,"i50":42,"i51":42,"i52":42,"i53":42,"i54":42,"i55":42,"i56":42,"i57":42,"i58":42,"i59":42,"i60":42,"i61":42,"i62":42,"i63":42,"i64":42,"i65":42,"i66":42,"i67":42,"i68":42,"i69":42,"i70":42,"i71":42,"i72":42,"i73":42};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42,"i25":42,"i26":42,"i27":42,"i28":42,"i29":42,"i30":42,"i31":42,"i32":42,"i33":42,"i34":42,"i35":42,"i36":42,"i37":42,"i38":42,"i39":42,"i40":42,"i41":42,"i42":42,"i43":42,"i44":42,"i45":41,"i46":42,"i47":42,"i48":42,"i49":42,"i50":42,"i51":42,"i52":42,"i53":42,"i54":42,"i55":42,"i56":42,"i57":42,"i58":42,"i59":42,"i60":42,"i61":42,"i62":42,"i63":42,"i64":42,"i65":42,"i66":42,"i67":42,"i68":42,"i69":42,"i70":42,"i71":42,"i72":42,"i73":42,"i74":42};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
  @InterfaceAudience.Public
-public class <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.51">HTableDescriptor</a>
+public class <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.50">HTableDescriptor</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&gt;</pre>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
@@ -652,12 +652,19 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 </tr>
 <tr id="i37" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#hasSerialReplicationScope--">hasSerialReplicationScope</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">Return true if there are at least one cf whose replication scope is serial.</div>
+</td>
+</tr>
+<tr id="i38" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isCompactionEnabled--">isCompactionEnabled</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Check if the compaction enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaRegion--">isMetaRegion</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -665,83 +672,83 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  region.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<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/HTableDescriptor.html#isMetaTable--">isMetaTable</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Checks if the table is a <code>hbase:meta</code> table</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isNormalizationEnabled--">isNormalizationEnabled</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Check if normalization enable flag of the table is true.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isReadOnly--">isReadOnly</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Check if the readOnly flag of the table is set.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isRootRegion--">isRootRegion</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">This is vestigial API.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#modifyFamily-org.apache.hadoop.hbase.HColumnDescriptor-">modifyFamily</a></span>(<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Modifies the existing column family.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;bytes)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-byte:A-">remove</a></span>(byte[]&nbsp;key)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-org.apache.hadoop.hbase.util.Bytes-">remove</a></span>(<a href="../../../../org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a>&nbsp;key)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#remove-java.lang.String-">remove</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeConfiguration-java.lang.String-">removeConfiguration</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove a config setting represented by the key from the map</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeCoprocessor-java.lang.String-">removeCoprocessor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove a coprocessor from those set on the table</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeFamily-byte:A-">removeFamily</a></span>(byte[]&nbsp;column)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -749,14 +756,14 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  from the table descriptor</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setCompactionEnabled-boolean-">setCompactionEnabled</a></span>(boolean&nbsp;isEnable)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setting the table compaction enable flag.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setConfiguration-java.lang.String-java.lang.String-">setConfiguration</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
@@ -764,14 +771,14 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <div class="block">Setter for storing a configuration setting in map.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.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;durability)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setFlushPolicyClassName-java.lang.String-">setFlushPolicyClassName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -779,7 +786,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  need to be flushed when flushing a region.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMaxFileSize-long-">setMaxFileSize</a></span>(long&nbsp;maxFileSize)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -787,7 +794,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  split is triggered.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMemStoreFlushSize-long-">setMemStoreFlushSize</a></span>(long&nbsp;memstoreFlushSize)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -795,32 +802,32 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  memstore are flushed to the filesystem.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setNormalizationEnabled-boolean-">setNormalizationEnabled</a></span>(boolean&nbsp;isEnable)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setting the table normalization enable flag.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setOwner-org.apache.hadoop.hbase.security.User-">setOwner</a></span>(<a href="../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;owner)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setOwnerString-java.lang.String-">setOwnerString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ownerString)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setPriority-int-">setPriority</a></span>(int&nbsp;priority)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setReadOnly-boolean-">setReadOnly</a></span>(boolean&nbsp;readOnly)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -828,7 +835,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  only.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemstoreReplication-boolean-">setRegionMemstoreReplication</a></span>(boolean&nbsp;memstoreReplication)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -837,21 +844,21 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 </div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionMemStoreReplication-boolean-">setRegionMemStoreReplication</a></span>(boolean&nbsp;memstoreReplication)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Enable or Disable the memstore replication from the primary region to the replicas.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionReplication-int-">setRegionReplication</a></span>(int&nbsp;regionReplication)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the number of replicas per region.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRegionSplitPolicyClassName-java.lang.String-">setRegionSplitPolicyClassName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -859,7 +866,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
  determines when a region split should occur.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-byte:A-byte:A-">setValue</a></span>(byte[]&nbsp;key,
         byte[]&nbsp;value)</code>
@@ -867,14 +874,14 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <div class="block">Setter for storing metadata as a (key, value) pair in map</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-org.apache.hadoop.hbase.util.Bytes-org.apache.hadoop.hbase.util.Bytes-">setValue</a></span>(<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)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setValue-java.lang.String-java.lang.String-">setValue</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
@@ -882,32 +889,32 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <div class="block">Setter for storing metadata as a (key, value) pair in map</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toHColumnDescriptor-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">toHColumnDescriptor</a></span>(<a href="../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;desc)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Return a HColumnDescriptor for user to keep the compatibility as much as possible.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toString--">toString</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toStringCustomizedValues--">toStringCustomizedValues</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#toStringTableAttributes--">toStringTableAttributes</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -948,7 +955,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>SPLIT_POLICY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.52">SPLIT_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.51">SPLIT_POLICY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -962,7 +969,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_FILESIZE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.53">MAX_FILESIZE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.52">MAX_FILESIZE</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -976,7 +983,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>OWNER</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.54">OWNER</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.53">OWNER</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -990,7 +997,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.55">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.54">OWNER_KEY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1000,7 +1007,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>READONLY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.56">READONLY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.55">READONLY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1014,7 +1021,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>COMPACTION_ENABLED</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.57">COMPACTION_ENABLED</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.56">COMPACTION_ENABLED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1028,7 +1035,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>MEMSTORE_FLUSHSIZE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.58">MEMSTORE_FLUSHSIZE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.57">MEMSTORE_FLUSHSIZE</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1042,7 +1049,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSH_POLICY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.59">FLUSH_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.58">FLUSH_POLICY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1056,7 +1063,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>IS_ROOT</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.60">IS_ROOT</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.59">IS_ROOT</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1070,7 +1077,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>IS_META</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.61">IS_META</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.60">IS_META</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1084,7 +1091,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DURABILITY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.62">DURABILITY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.61">DURABILITY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1098,7 +1105,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_REPLICATION</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.63">REGION_REPLICATION</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.62">REGION_REPLICATION</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1112,7 +1119,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_MEMSTORE_REPLICATION</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.64">REGION_MEMSTORE_REPLICATION</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.63">REGION_MEMSTORE_REPLICATION</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1126,7 +1133,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>NORMALIZATION_ENABLED</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.65">NORMALIZATION_ENABLED</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.64">NORMALIZATION_ENABLED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1140,7 +1147,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>PRIORITY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.66">PRIORITY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.65">PRIORITY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1154,7 +1161,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.67">DEFAULT_READONLY</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.66">DEFAULT_READONLY</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1168,7 +1175,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.68">DEFAULT_COMPACTION_ENABLED</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.67">DEFAULT_COMPACTION_ENABLED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1182,7 +1189,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.69">DEFAULT_NORMALIZATION_ENABLED</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.68">DEFAULT_NORMALIZATION_ENABLED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1196,7 +1203,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.70">DEFAULT_MEMSTORE_FLUSH_SIZE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.69">DEFAULT_MEMSTORE_FLUSH_SIZE</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1210,7 +1217,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.71">DEFAULT_REGION_REPLICATION</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.70">DEFAULT_REGION_REPLICATION</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1224,7 +1231,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.72">DEFAULT_REGION_MEMSTORE_REPLICATION</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.71">DEFAULT_REGION_MEMSTORE_REPLICATION</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1238,7 +1245,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>delegatee</h4>
-<pre>protected final&nbsp;<a href="../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.73">delegatee</a></pre>
+<pre>protected final&nbsp;<a href="../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.72">delegatee</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1248,7 +1255,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>NAMESPACE_FAMILY_INFO</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.770">NAMESPACE_FAMILY_INFO</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.777">NAMESPACE_FAMILY_INFO</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1262,7 +1269,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.771">NAMESPACE_FAMILY_INFO_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.778">NAMESPACE_FAMILY_INFO_BYTES</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1272,7 +1279,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.772">NAMESPACE_COL_DESC_BYTES</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.779">NAMESPACE_COL_DESC_BYTES</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1282,7 +1289,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.775">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.782">NAMESPACE_TABLEDESC</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Table descriptor for namespace table</div>
 </li>
@@ -1301,7 +1308,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.80">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.79">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Construct a table descriptor specifying a TableName object</div>
 <dl>
@@ -1318,7 +1325,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.91">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.90">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Construct a table descriptor by cloning the descriptor passed as a parameter.
  <p>
@@ -1336,7 +1343,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.95">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;desc,
+<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.94">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;desc,
                            boolean&nbsp;deepClone)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
@@ -1347,7 +1354,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.100">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.99">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1357,7 +1364,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.113">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.112">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Construct a table descriptor by cloning the descriptor passed as a parameter
@@ -1378,7 +1385,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTableDescriptor</h4>
-<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.117">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;delegatee)</pre>
+<pre>protected&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.116">HTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.ModifyableTableDescriptor.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder.ModifyableTableDescriptor</a>&nbsp;delegatee)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1396,7 +1403,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.126">isRootRegion</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.125">isRootRegion</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">This is vestigial API. It will be removed in 3.0.</div>
 <dl>
@@ -1411,7 +1418,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.138">isMetaRegion</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.137">isMetaRegion</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Checks if this table is <code> hbase:meta </code>
  region.</div>
@@ -1430,7 +1437,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.148">isMetaTable</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.147">isMetaTable</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Checks if the table is a <code>hbase:meta</code> table</div>
 <dl>
@@ -1447,7 +1454,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getValues</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/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.156">getValues</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/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.155">getValues</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1463,7 +1470,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.166">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.165">setValue</a>(byte[]&nbsp;key,
                                  byte[]&nbsp;value)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setter for storing metadata as a (key, value) pair in map</div>
@@ -1480,7 +1487,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.177">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.176">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>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
@@ -1491,7 +1498,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.188">setValue</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;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.187">setValue</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setter for storing metadata as a (key, value) pair in map</div>
@@ -1508,7 +1515,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.199">remove</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.198">remove</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 <dl>
@@ -1524,7 +1531,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.209">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.208">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 <dl>
@@ -1540,7 +1547,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.219">remove</a>(byte[]&nbsp;key)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.218">remove</a>(byte[]&nbsp;key)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Remove metadata represented by the key from the map</div>
 <dl>
@@ -1556,7 +1563,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.230">isReadOnly</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.229">isReadOnly</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1574,7 +1581,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.242">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.241">setReadOnly</a>(boolean&nbsp;readOnly)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1592,7 +1599,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.254">isCompactionEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.253">isCompactionEnabled</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1610,7 +1617,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.263">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.262">setCompactionEnabled</a>(boolean&nbsp;isEnable)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setting the table compaction enable flag.</div>
 <dl>
@@ -1625,7 +1632,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.275">isNormalizationEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.274">isNormalizationEnabled</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1643,7 +1650,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.284">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.283">setNormalizationEnabled</a>(boolean&nbsp;isEnable)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Setting the table normalization enable flag.</div>
 <dl>
@@ -1658,7 +1665,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.293">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.292">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1673,7 +1680,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.303">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.302">getDurability</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the durability setting for the table.</div>
 <dl>
@@ -1690,7 +1697,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.313">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.312">getTableName</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get the name of the table</div>
 <dl>
@@ -1707,7 +1714,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getNameAsString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.322">getNameAsString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.321">getNameAsString</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get the name of the table as a String</div>
 <dl>
@@ -1722,7 +1729,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.332">setRegionSplitPolicyClassName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;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.331">setRegionSplitPolicyClassName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1739,7 +1746,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionSplitPolicyClassName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.346">getRegionSplitPolicyClassName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.345">getRegionSplitPolicyClassName</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1759,7 +1766,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.360">getMaxFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.359">getMaxFileSize</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1780,7 +1787,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.379">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.378">setMaxFileSize</a>(long&nbsp;maxFileSize)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1805,7 +1812,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.392">getMemStoreFlushSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.391">getMemStoreFlushSize</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns the size of the memstore after which a flush to filesystem is triggered.</div>
 <dl>
@@ -1824,7 +1831,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.402">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.401">setMemStoreFlushSize</a>(long&nbsp;memstoreFlushSize)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1840,7 +1847,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.413">setFlushPolicyClassName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;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.412">setFlushPolicyClassName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clazz)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1857,7 +1864,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushPolicyClassName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.426">getFlushPolicyClassName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.425">getFlushPolicyClassName</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1877,7 +1884,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.435">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.434">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -1893,7 +1900,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.445">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.444">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Modifies the existing column family.</div>
 <dl>
@@ -1910,7 +1917,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.455">hasFamily</a>(byte[]&nbsp;familyName)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.454">hasFamily</a>(byte[]&nbsp;familyName)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Checks to see if this table contains the given column family</div>
 <dl>
@@ -1927,7 +1934,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.465">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.464">toString</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -1946,7 +1953,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringCustomizedValues</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.473">toStringCustomizedValues</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.472">toStringCustomizedValues</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1961,7 +1968,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringTableAttributes</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.480">toStringTableAttributes</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.479">toStringTableAttributes</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1975,7 +1982,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.494">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.493">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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
@@ -1996,7 +2003,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.508">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.507">hashCode</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -2012,7 +2019,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <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.522">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.521">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <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>
@@ -2032,7 +2039,7 @@ implements <a href="../../../../org/apache/hadoop/hbase/client/TableDescriptor.h
 <li class="blockList">
 <h4>getFamilies</h4>
 <pre><a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.534">getFamilies</a>()</pre>
+public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.533">getFamilies</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilies

<TRUNCATED>

[34/51] [partial] hbase-site git commit: Published site at b7b86839250bf9b295ebc1948826f43a88736d6c.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6b94a2f2/devapidocs/org/apache/hadoop/hbase/client/class-use/RegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/RegionInfo.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/RegionInfo.html
index d80f2f57..7c541f9 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/RegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/RegionInfo.html
@@ -520,45 +520,54 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private static <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">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makePutForReplicationBarrier-org.apache.hadoop.hbase.client.RegionInfo-long-long-">makePutForReplicationBarrier</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+                            long&nbsp;openSeqNum,
+                            long&nbsp;ts)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <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">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#makePutFromRegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-">makePutFromRegionInfo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                      long&nbsp;ts)</code>
 <div class="block">Generates and returns a Put containing the region into for the catalog table</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#mergeRegions-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.ServerName-int-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionA,
+            long&nbsp;regionAOpenSeqNum,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionB,
+            long&nbsp;regionBOpenSeqNum,
             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
             int&nbsp;regionReplication)</code>
 <div class="block">Merge the two regions into one in an atomic operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateListener.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/RegionStateListener.html#onRegionMerged-org.apache.hadoop.hbase.client.RegionInfo-">onRegionMerged</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion)</code>
 <div class="block">Process region merge event.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateListener.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/RegionStateListener.html#onRegionSplit-org.apache.hadoop.hbase.client.RegionInfo-">onRegionSplit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</code>
 <div class="block">Process region split event.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateListener.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/RegionStateListener.html#onRegionSplitReverted-org.apache.hadoop.hbase.client.RegionInfo-">onRegionSplitReverted</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</code>
 <div class="block">Process region split reverted event.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#splitRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">splitRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#splitRegion-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-long-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-int-">splitRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+           long&nbsp;parentOpenSeqNum,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitA,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitB,
            <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn,
@@ -566,7 +575,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Splits the region into two in an atomic operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#updateLocation-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-long-long-">updateLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -576,7 +585,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Updates the location of the specified region to be the specified server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#updateRegionLocation-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-long-long-">updateRegionLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                     <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -614,13 +623,18 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#addReplicationParent-org.apache.hadoop.hbase.client.Put-java.util.List-">addReplicationParent</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
+                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;parents)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteRegions-org.apache.hadoop.hbase.client.Connection-java.util.List-">deleteRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regionsInfo)</code>
 <div class="block">Deletes the specified regions from META.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#deleteRegions-org.apache.hadoop.hbase.client.Connection-java.util.List-long-">deleteRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regionsInfo,
@@ -628,11 +642,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Deletes the specified regions from META.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#getListOfRegionInfos-java.util.List-">getListOfRegionInfos</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;pairs)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetaTableAccessor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/MetaTableAccessor.html#overwriteRegions-org.apache.hadoop.hbase.client.Connection-java.util.List-int-">overwriteRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;connection,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regionInfos,
@@ -2367,17 +2381,21 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                   byte[]&nbsp;familyName)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterFileSystem.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html#getRegionDir-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html#isRegionInServerManagerStates-org.apache.hadoop.hbase.client.RegionInfo-">isRegionInServerManagerStates</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo:A-boolean-long-long-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
             boolean&nbsp;forcible,
             long&nbsp;nonceGroup,
             long&nbsp;nonce)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterServices.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo:A-boolean-long-long-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
             boolean&nbsp;forcible,
@@ -2386,17 +2404,17 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Merge regions in a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postAssign-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.security.User-">postCompletedCreateTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions,
                               <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.security.User-">postCompletedMergeRegionsAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
@@ -2404,7 +2422,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Invoked after completing merge regions operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.security.User-">postCompletedMergeRegionsAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
@@ -2412,7 +2430,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Invoked after completing merge regions operation</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.security.User-">postCompletedSplitRegionAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoA,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoB,
@@ -2420,16 +2438,16 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Invoked just after a split</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCreateTable-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postMergeRegions-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postMergeRegionsCommit-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.security.User-">postMergeRegionsCommit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                       <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
@@ -2437,7 +2455,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Invoked after merge regions operation writes the new region to hbase:meta</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postMergeRegionsCommit-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.security.User-">postMergeRegionsCommit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                       <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
@@ -2445,17 +2463,17 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Invoked after merge regions operation writes the new region to hbase:meta</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postMove-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
         <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;srcServer,
         <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;destServer)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postRegionOffline-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postRequestLock-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">postRequestLock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -2463,45 +2481,45 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                <a href="../../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2">LockType</a>&nbsp;type,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.security.User-">postRollBackMergeRegionsAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                               <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">Invoked after rollback merge regions operation</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postUnassign-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
             boolean&nbsp;force)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preAssign-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preCreateTable-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preCreateTableAction-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.security.User-">preCreateTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                     <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions,
                     <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preMergeRegions-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preMergeRegionsAction-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.security.User-">preMergeRegionsAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                      <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">Invoked just before a merge</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preMergeRegionsCommit-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-org.apache.hadoop.hbase.security.User-">preMergeRegionsCommit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;metaEntries,
@@ -2509,17 +2527,17 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Invoked before merge regions operation writes the new region to hbase:meta</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preMove-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
        <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;srcServer,
        <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;destServer)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preRegionOffline-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preRequestLock-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.procedure2.LockType-java.lang.String-">preRequestLock</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
               <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -2527,65 +2545,65 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
               <a href="../../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2">LockType</a>&nbsp;type,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preUnassign-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
            boolean&nbsp;force)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LoadBalancer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html#randomAssignment-org.apache.hadoop.hbase.client.RegionInfo-java.util.List-">randomAssignment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</code>
 <div class="block">Get a random region server from the list</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentListener.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentListener.html#regionClosed-org.apache.hadoop.hbase.client.RegionInfo-">regionClosed</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">The region was closed on the region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LoadBalancer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html#regionOffline-org.apache.hadoop.hbase.client.RegionInfo-">regionOffline</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Marks the region as offline at balancer.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LoadBalancer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html#regionOnline-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">regionOnline</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>
 <div class="block">Marks the region as online at balancer.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentListener.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentListener.html#regionOpened-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">regionOpened</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>
 <div class="block">The region was opened on the specified server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html#removeRegion-org.apache.hadoop.hbase.client.RegionInfo-">removeRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Called by delete table and similar to notify the ServerManager that a region was removed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ServerManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html#sendRegionWarmup-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-">sendRegionWarmup</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                 <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>
 <div class="block">Sends a WARMUP RPC to the specified server to warmup the specified region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html#splitRegion-org.apache.hadoop.hbase.client.RegionInfo-byte:A-long-long-">splitRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
            byte[]&nbsp;splitRow,
            long&nbsp;nonceGroup,
            long&nbsp;nonce)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterServices.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html#splitRegion-org.apache.hadoop.hbase.client.RegionInfo-byte:A-long-long-">splitRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
            byte[]&nbsp;splitRow,
@@ -3005,10 +3023,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#getMetaInitializedEvent-org.apache.hadoop.hbase.client.RegionInfo-">getMetaInitializedEvent</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;metaRegionInfo)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#getOpenSeqNumForParentRegion-org.apache.hadoop.hbase.client.RegionInfo-">getOpenSeqNumForParentRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getOrCreateRegionStateNode-org.apache.hadoop.hbase.client.RegionInfo-">getOrCreateRegionStateNode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse</code></td>
 <td class="colLast"><span class="typeNameLabel">Util.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/Util.html#getRegionInfoResponse-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-">getRegionInfoResponse</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                      <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;regionLocation,
@@ -3016,80 +3038,80 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Raw call to remote regionserver to get info on a particular region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse</code></td>
 <td class="colLast"><span class="typeNameLabel">Util.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/Util.html#getRegionInfoResponse-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-boolean-">getRegionInfoResponse</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                      <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;regionLocation,
                      <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri,
                      boolean&nbsp;includeBestSplitRow)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getRegionServerOfRegion-org.apache.hadoop.hbase.client.RegionInfo-">getRegionServerOfRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getRegionState-org.apache.hadoop.hbase.client.RegionInfo-">getRegionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStates.RegionStateNode</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getRegionStateNode-org.apache.hadoop.hbase.client.RegionInfo-">getRegionStateNode</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionTransitionProcedure</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getRegionTransitionProcedure-org.apache.hadoop.hbase.client.RegionInfo-">getRegionTransitionProcedure</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#getRegionTransitionState-org.apache.hadoop.hbase.client.RegionInfo-">getRegionTransitionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#handleRegionOverStuckWarningThreshold-org.apache.hadoop.hbase.client.RegionInfo-">handleRegionOverStuckWarningThreshold</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#isCarryingRegion-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-">isCarryingRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                 <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#isMetaRegion-org.apache.hadoop.hbase.client.RegionInfo-">isMetaRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#isRegionInRegionStates-org.apache.hadoop.hbase.client.RegionInfo-">isRegionInRegionStates</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#isRegionInState-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.master.RegionState.State...-">isRegionInState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>...&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#isRegionInTransition-org.apache.hadoop.hbase.client.RegionInfo-">isRegionInTransition</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#isRegionOffline-org.apache.hadoop.hbase.client.RegionInfo-">isRegionOffline</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#isRegionOnline-org.apache.hadoop.hbase.client.RegionInfo-">isRegionOnline</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.RegionInTransitionStat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html#isRegionOverThreshold-org.apache.hadoop.hbase.client.RegionInfo-">isRegionOverThreshold</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.RegionInTransitionStat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html#isRegionTwiceOverThreshold-org.apache.hadoop.hbase.client.RegionInfo-">isRegionTwiceOverThreshold</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#logSplit-org.apache.hadoop.hbase.client.RegionInfo-">logSplit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#markRegionAsMerged-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">markRegionAsMerged</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
                   <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
@@ -3098,91 +3120,91 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">When called here, the merge has happened.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#markRegionAsSplit-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">markRegionAsSplit</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
                  <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                  <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;daughterA,
                  <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;daughterB)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+<td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">mergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB,
             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#move-org.apache.hadoop.hbase.client.RegionInfo-">move</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#offlineRegion-org.apache.hadoop.hbase.client.RegionInfo-">offlineRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#onlineRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">onlineRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#removeFromFailedOpen-org.apache.hadoop.hbase.client.RegionInfo-">removeFromFailedOpen</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#removeFromOfflineRegions-org.apache.hadoop.hbase.client.RegionInfo-">removeFromOfflineRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#sendRegionClosedNotification-org.apache.hadoop.hbase.client.RegionInfo-">sendRegionClosedNotification</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#sendRegionOpenedNotification-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">sendRegionOpenedNotification</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#setMetaInitialized-org.apache.hadoop.hbase.client.RegionInfo-boolean-">setMetaInitialized</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;metaRegionInfo,
                   boolean&nbsp;isInitialized)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionTransitionProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.html#setRegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">setRegionInfo</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#shouldAssignFavoredNodes-org.apache.hadoop.hbase.client.RegionInfo-">shouldAssignFavoredNodes</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#splitRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">splitRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB,
            <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#unassign-org.apache.hadoop.hbase.client.RegionInfo-">unassign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#unassign-org.apache.hadoop.hbase.client.RegionInfo-boolean-">unassign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
         boolean&nbsp;forceNewPlan)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateMetaLocation-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">updateMetaLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                   <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateRegionLocation-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.client.Put-">updateRegionLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                     <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
                     <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#updateRegionMergeTransition-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">updateRegionMergeTransition</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                            org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;state,
@@ -3190,7 +3212,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
                            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#updateRegionSplitTransition-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">updateRegionSplitTransition</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                            org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;state,
@@ -3198,19 +3220,19 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
                            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStates.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStates.html#updateRegionState-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.master.RegionState.State-">updateRegionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                  <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#updateRegionTransition-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode-org.apache.hadoop.hbase.client.RegionInfo-long-">updateRegionTransition</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                       org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;state,
                       <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                       long&nbsp;seqId)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateUserRegionLocation-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-long-long-">updateUserRegionLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                         <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
@@ -3219,7 +3241,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                         long&nbsp;openSeqNum,
                         long&nbsp;pid)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateStore.RegionStateVisitor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.RegionStateVisitor.html#visitRegionState-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-long-">visitRegionState</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                 <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state,
@@ -3227,16 +3249,16 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                 <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;lastHost,
                 long&nbsp;openSeqNum)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitForAssignment-org.apache.hadoop.hbase.client.RegionInfo-">waitForAssignment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitForAssignment-org.apache.hadoop.hbase.client.RegionInfo-long-">waitForAssignment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                  long&nbsp;timeout)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitMetaInitialized-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.client.RegionInfo-">waitMetaInitialized</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&nbsp;proc,
                    <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
@@ -6592,19 +6614,24 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><span class="typeNameLabel">FSUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/FSUtils.html#getRegionDir-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-">getRegionDir</a></span>(org.apache.hadoop.fs.Path&nbsp;tableDir,
+            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ServerRegionReplicaUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.html#getRegionInfoForFs-org.apache.hadoop.hbase.client.RegionInfo-">getRegionInfoForFs</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Returns the regionInfo object to use for interacting with the file system.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionMover.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/RegionMover.html#getServerNameForRegion-org.apache.hadoop.hbase.client.Admin-org.apache.hadoop.hbase.client.RegionInfo-">getServerNameForRegion</a></span>(<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/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</code>
 <div class="block">Get servername that is up in hbase:meta hosting the given region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="typeNameLabel">HFileArchiveUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/HFileArchiveUtil.html#getStoreArchivePath-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.RegionInfo-byte:A-">getStoreArchivePath</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                    <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
@@ -6612,7 +6639,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Gets the directory to archive a store directory.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="typeNameLabel">HFileArchiveUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/HFileArchiveUtil.html#getStoreArchivePath-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.fs.Path-byte:A-">getStoreArchivePath</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                    <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
@@ -6621,7 +6648,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Get the directory to archive a store directory</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ServerRegionReplicaUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.html#getStoreFileInfo-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-java.lang.String-org.apache.hadoop.fs.Path-">getStoreFileInfo</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                 org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -6632,7 +6659,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Returns a StoreFileInfo from the given FileStatus.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionMover.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/RegionMover.html#isSameServer-org.apache.hadoop.hbase.client.Admin-org.apache.hadoop.hbase.client.RegionInfo-java.lang.String-">isSameServer</a></span>(<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/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
@@ -6640,19 +6667,19 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Returns true if passed region is still on serverName when we look at hbase:meta.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionMover.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/util/RegionMover.html#isSuccessfulScan-org.apache.hadoop.hbase.client.Admin-org.apache.hadoop.hbase.client.RegionInfo-">isSuccessfulScan</a></span>(<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/RegionInfo.html" title="interface in org.apache.

<TRUNCATED>